gpt4 book ai didi

java - 从内部存储读取和写入

转载 作者:行者123 更新时间:2023-11-30 02:36:10 25 4
gpt4 key购买 nike

我在尝试从文件中读取时遇到此异常

java.io.FileNotFoundException:/data/data/.../files

我使用这种方法是因为它可以在读取文件时处理 Unicode 文本

public void save(String string )
{

String filename = "main";


FileOutputStream outputStream;

try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public String read()
{
try
{

Reader readerUnicode =
new InputStreamReader(new FileInputStream(getFilesDir()), Charset.forName("UTF-16"));
int e = 0;
String f="";
while ((e = readerUnicode.read()) != -1) {
// cast to char. The casting removes the left most bit.
f = f+Character.toString((char) e);
System.out.print(f);
}

return f;
}
catch(Exception e)
{

return e+"";
}

}

如何找回内部保存路径

谢谢

最佳答案

您正在使用 getFilesDir() 但未设置实际文件名。只是目录路径。

尝试添加文件名。另外,您可能应该在保存和加载路径中添加一个扩展名,例如 .txt

 new InputStreamReader(new FileInputStream(getFilesDir() + "/" + filename ), Charset.forName("UTF-16"));

并将 filename 更改为更合理的名称。

String filename = "main.txt";

您可以/应该在访问文件之前检查该文件是否存在。 (虽然你确实会尝试捕捉)

File file = new File(getFilesDir() + "/" + filename);
if(!file.exists())
return "";

关于java - 从内部存储读取和写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26489376/

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