我无法使用 Android API 示例中所示的标准 InputStreamReader 方法将扩展字符(例如,法语重音字符)读写到文本文件中。当我使用以下命令回读文件时:
InputStreamReader tmp = new InputStreamReader(in);
BufferedReader reader = new BufferedReader(tmp);
String str;
while ((str = reader.readLine()) != null) {
...
读取的字符串在扩展字符处被截断,而不是在行尾。字符串的后半部分出现在下一行。我假设我需要将我的数据保存为 UTF-8,但我找不到任何这样的例子,而且我是 Java 的新手。
谁能给我提供示例或相关文档的链接?
最佳答案
非常简单明了。 :)
String filePath = "/sdcard/utf8_file.txt";
String UTF8 = "utf8";
int BUFFER_SIZE = 8192;
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(filePath), UTF8),BUFFER_SIZE);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), UTF8),BUFFER_SIZE);
关于java - 如何在 Android 上读写 UTF-8 到磁盘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2735323/