public static void main(String[] args) throws IOException {
String dataRow;
BufferedReader CSVFile =
new BufferedReader(new FileReader("test.csv"));
while ((dataRow = CSVFile.readLine()) != null) {
System.out.println(dataRow.split(";")[0]);
}
// Close the file once all data has been read.
CSVFile.close();
// End the printout with a blank line.
System.out.println("Done");
}
我试图在普通文本视图中阅读的CSV文件
ID;Numbers
12;234
343;233
我能够打印的所有空间都没有字符串。
输出
1. ��I
2.
3.
4.
Done
文件编码仅为#34; UNICODE"
如何在java中读取Unicode文件。 我是否必须在FileReader java类construtor中设置参数设置文件的编码类型?
请告知。
答案 0 :(得分:1)
public static void main(String[] args) throws IOException {
String dataRow;
BufferedReader CSVFile = new BufferedReader(new FileReader("F:\\csv.csv"));
while ((dataRow = CSVFile.readLine()) != null) {
String []data = dataRow.split(";");
for (String d : data) {
System.out.print(d + " ");
}
System.out.println();
}
CSVFile.close();
System.out.println("Done");
}
结果如下所示:
ID Numbers
12 234
343 233
Done
获取文件编码的方式如下所示
使用nodepad编辑器打开csv
文件,然后点击file -> save as
答案 1 :(得分:0)
如果文件编码为unicode
,则在读取文件时,可以将文件编码参数传递给函数
fllowing代码在
之下 public static void main(String[] args) throws IOException {
String dataRow;
BufferedReader CSVFile = new BufferedReader(new InputStreamReader(new FileInputStream("F:\\csv.csv"),"unicode"));
while ((dataRow = CSVFile.readLine()) != null) {
String []data = dataRow.split(";");
for (String d : data) {
System.out.print(d + " ");
}
System.out.println();
}
CSVFile.close();
System.out.println("Done");
}
如果您没有传递文件编码参数,那么当您阅读文件内容时,编码取决于您的os