CSV読み込み 文字化け
失礼いたします。
以前のログを見てエンコードを設定してみたのですが、出力が文字化けします。ローカルファイルを読み込んでコンソール出力しているだけなのですが・・・。
分かる方、よろしくお願いします。
-------------------ソースはここから
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
// import java.io.FileReader; FileReaderからInputStreamReaderに変更済み
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class ReadCSV {
public static void main(String[] args) {
try {
File csv = new File("C:\\AP.csv");
// BufferedReader br = new BufferedReader(new FileReader(csv));
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(csv),"EUC_JP"));
// BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(csv),"MS932"));
while (br.ready()) {
String line = br.readLine();
StringTokenizer st = new StringTokenizer(line, ",");
while (st.hasMoreTokens()) {
System.out.print(st.nextToken() + "\t");
}
System.out.println();
}
br.close();
} catch (FileNotFoundException e) {
キャッチ処理
}
お礼
すごい・・詳しい説明までのっけていただいてありがとうございます!!
補足
最後なんですけど Input: 3 Input: 4 Input: 5 Input: end 3+4+5=12 みたいに表示したいんですけどendまでで終わってしまいます。どうにかなりますか? あとJavaのParseIntなんですけど、前後に空白があるとエラーになるのをそうならないようなプログラムにすることはできますか?文字列中で見つかった最初の数字から連続する数字のみを処理できれば結構です。前後の空白、数字でない文字は無視して、もし数字と認識できない場合は、メッセージを出すとともに、数字0として読み込んでください。 課題なんですがあまりに難しいので悩んでいます。お願いします!!