Tôi có một số csv file
có chứa các từ bằng tiếng Anh, sau đó là bản dịch tiếng Hindi của chúng. Tôi đang cố gắng để đọc các tập tin csv và làm một số xử lý thêm với nó. Tệp csv trông giống như vậy:Đọc các ký tự unicode từ tệp csv
English,,Hindi,,,
,,,,,
Cat,,बिल्ली,,,
Rat,,चूहा,,,
abandon,,छोड़ देना,त्याग देना,लापरवाही की स्वतन्त्रता,जाने देना
Tôi đang cố gắng đọc dòng tệp csv và hiển thị những gì đã được viết. Đoạn mã (Java
) như sau:
//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();
}
}
}
Tuy nhiên, đầu ra sau đây là những gì tôi nhận được:
English,,Hindi,,,
,,,,,
Cat,,??????,,,
Rat,,????,,,
abandon,,???? ????,????? ????,???????? ?? ???????????,???? ????
My Java mà không phải là tuyệt vời và dù tôi đã trải qua một số bài viết trên SO, tôi cần thêm trợ giúp trong việc tìm ra nguyên nhân chính xác của vấn đề này.
Chỉ cần bên bình luận: Bạn không cần phải đánh đồng giá trị boolean như bạn đang làm 'nếu (dòng .contains ("English") == true) 'và' (startSeen == true) 'thay vào đó bạn có thể trực tiếp sử dụng' if (line.contains ("English")) 'và' (startSeen) 'vì chúng có thể là đúng hay sai. – Smit
@smit: lấy điểm. Cảm ơn! – Sriram