私はcsv file
に英語の単語とヒンディー語の翻訳が含まれています。私はcsvファイルを読み込み、それを使ってさらに処理をしようとしています。 csvファイルはそうのようになります。csvファイルからユニコード文字を読み取る
English,,Hindi,,,
,,,,,
Cat,,बिल्ली,,,
Rat,,चूहा,,,
abandon,,छोड़ देना,त्याग देना,लापरवाही की स्वतन्त्रता,जाने देना
私はラインでCSVファイルの行を読み、書かれている内容を表示しようとしています。次のようにコードスニペット(Java
)は次のとおりです。
//Step 2. Read csv file and get the string.
FileInputStream fis = null;
BufferedReader br = null;
try {
fis = new FileInputStream(new File(csvFile));
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
boolean startSeen = true;
if(fis != null) {
try {
br = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
} catch (UnsupportedEncodingException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
System.out.print("Unsupported encoding");
}
String line = null;
if(br != null) {
try {
while((line = br.readLine()) != null) {
if(line.contains("English") == true) {
startSeen = true;
}
if((startSeen == true) && (line != null)) {
StringBuffer sbuf = new StringBuffer();
//Step 3. Parse the line.
sbuf.append(line);
System.out.println(sbuf.toString());
}
}
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
ただし、次の出力は、私が得るものです:
English,,Hindi,,,
,,,,,
Cat,,??????,,,
Rat,,????,,,
abandon,,???? ????,????? ????,???????? ?? ???????????,???? ????
私のJavaはその偉大ではないと私はポストの数を経ていてもSOには、この問題の正確な原因を突き止めるために、より多くの助けが必要です。
で指定されたスクリーンショットを参照してください:あなたはいけないあなたがいる場合、 'やっている(ラインのようなブール値を同一視しなければなりません.contains( "English")== true) 'と'(startSeen == true) 'の代わりに' if(line.contains( "English")) 'と'(startSeen) 'を直接使うことができます。正しいか間違っているか。 – Smit
@smit:要点。ありがとう! – Sriram