java - 如何在 Android 上读写 UTF-8 到磁盘?

标签 java android utf-8 character-encoding

我无法使用 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/

相关文章:

android - NFC 读卡器 ACR 122 与 Android 4.1 Jelly Beans 不兼容?

python - 如何处理来自 Pythons imaplib 的 UTF8 字符串

android - é=é : need to show as it is

php - 字符集和排序规则搞砸了?

java - 将 jar 文件动态加载到 ClassPath - HTTPS url 吗?

java - 命令在终端中有效但在脚本中无效?

android - 如何删除 AutoCompleteTextView 中使用的 ArrayAdapter 上的过滤器?

java - 即使在使用全局静态数组之后,我的数组值在 java 中也在发生变化。如何克服呢?

从 Oracle DB 加载 Java JTable 数据

android - 两个插件之间的Nativescript冲突-Android Gradle