gpt4 book ai didi

android - 为什么从文件中获取 FileInputStream 时需要添加文件夹?

转载 作者:行者123 更新时间:2023-11-30 01:17:45 25 4
gpt4 key购买 nike

我已阅读 https://developer.android.com/guide/topics/data/data-storage.html#filesInternal 上的文章

代码A运行良好,但代码B运行不佳,我必须使用代码inputStream = new FileInputStream(mContext.getFilesDir()+"/hello_file");

读取内部存储的文件一定要加文件夹吗?

代码A

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

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

代码B

 InputStream inputStream = null;
int size = 0;
try {
inputStream = new FileInputStream("hello_file");
size=inputStream.available();
Utility.LogError("Size Html: "+size );
}catch (Exception e){
Utility.LogError("Error: Input"+e.getMessage() );
}

最佳答案

要获取 FileStreams,请使用:

openFileInput(String name)

openFileOutput(String name, int mode)


一些细节:

openFileInput openFileOutputContext 的方法。

在代码 a 中,您正在使用 openFileOutput。如果你 checkout a src .您可以看到 openFileOutput 执行以下操作:

...
File f = makeFilename(getFilesDir(), name);
...
FileOutputStream fos = new FileOutputStream(f, append);
...

因此用于生成输出流的路径与您提供的路径相同:

mContext.getFilesDir()+"/hello_file"

错误简而言之:

代码 A:将写入:+"/hello_file"

代码 B:尝试读取:“/hello_file”

关于android - 为什么从文件中获取 FileInputStream 时需要添加文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37583717/

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