gpt4 book ai didi

android - 向/从内部文件写入和读取字符串

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:40:43 24 4
gpt4 key购买 nike

我看到了很多如何编写 String 对象的示例:

String FILENAME = "hello_file";
String string = "hello world!";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();

但不是如何从内部应用程序文件中读回它们。大多数示例都假定特定的字符串长度来计算字节缓冲区,但我不知道长度是多少。有简单的方法吗?我的应用程序将向文件写入最多 50-100 个字符串

最佳答案

以这种方式编写字符串不会在文件中放置任何类型的分隔符。您不知道一根弦在哪里结束,下一串从哪里开始。这就是为什么在读回字符串时必须指定字符串的长度。

您可以使用 DataOutputStream.writeUTF()DataInputStream.readUTF() 代替,因为这些方法将字符串的长度放入文件并读回正确的数字字符自动。

在 Android 上下文中,您可以执行以下操作:

try {
// Write 20 Strings
DataOutputStream out =
new DataOutputStream(openFileOutput(FILENAME, Context.MODE_PRIVATE));
for (int i=0; i<20; i++) {
out.writeUTF(Integer.toString(i));
}
out.close();

// Read them back
DataInputStream in = new DataInputStream(openFileInput(FILENAME));
try {
for (;;) {
Log.i("Data Input Sample", in.readUTF());
}
} catch (EOFException e) {
Log.i("Data Input Sample", "End of file reached");
}
in.close();
} catch (IOException e) {
Log.i("Data Input Sample", "I/O Error");
}

关于android - 向/从内部文件写入和读取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4228699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com