在Android中逐行读取UTF-8 CSV文件时,可能会遇到不会在字符“LF”(换行符)上停止的问题。下面是一个解决方法的代码示例:
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class CSVReader {
public static void main(String[] args) {
String filePath = "path_to_your_csv_file.csv";
try {
FileInputStream fis = new FileInputStream(filePath);
InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
BufferedReader br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null) {
// 按照逗号分隔每行的数据
String[] data = line.split(",");
// 处理每行数据
for (String item : data) {
System.out.print(item + " ");
}
System.out.println();
}
br.close();
isr.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在上面的代码中,我们使用FileInputStream
读取文件,然后使用InputStreamReader
指定UTF-8编码来读取文件内容。接下来,我们使用BufferedReader
逐行读取文件内容。在每行数据中,我们使用逗号作为分隔符将每行数据拆分为字符串数组。然后,我们可以根据需求处理每行数据。
请注意,path_to_your_csv_file.csv
应该替换为你实际的CSV文件路径。此外,记得在Android应用中添加对外部存储读取权限。
这是一个简单的示例,可以帮助你逐行读取UTF-8编码的CSV文件,并在每行数据中按需求进行处理。你可以根据自己的需求进行修改和扩展。