gpt4 book ai didi

java - 无法获取文本文件的 URI

转载 作者:行者123 更新时间:2023-12-02 01:26:21 25 4
gpt4 key购买 nike

我正在尝试制作一个应用程序,在其中我可以从用户那里获取文本输入并将其存储在文本文件中,然后将该文件上传到 firebase 以便我稍后可以检索它。

问题是我无法获取文件的正确 URI。请帮我获取 URI。

这是代码

public class TextUpload extends AppCompatActivity {

private void writeToFile(String data, Context context) throws FileNotFoundException {
mediaFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath());
if (!mediaFile.exists()) {
mediaFile.mkdir();
}
byte[] data2 = data.getBytes();

FileOutputStream f = new FileOutputStream(new File(mediaFile, "textfile.txt"));
try {
f.write(data2);
f.flush();
f.close();
} catch (IOException e) {
e.printStackTrace();
}

fileUri = Uri.fromFile(mediaFile);
Log.d("TAHH" , "URI = "+fileUri);
}
}

这是我存储在 fileUri 中的值

URI = file:///storage/emulated/0

[roid]

请帮我获取突出显示文件的 URI。

最佳答案

主要问题是您正在读取 mediaFile 的路径,它是一个目录(而不是文件本身)。 mediaFile 是您想要的文件的父目录。

所以,改为:

mediaFile = new File(Environment.getExternalStorageDirectory().getAbsolutePath());


if (!mediaFile.exists()) {
mediaFile.mkdir();
}
byte[] data2 = data.getBytes();

// Hold the reference to the file that you are writting
File txtFile = new File(mediaFile, "textfile.txt")
FileOutputStream f = new FileOutputStream(txtFile );

try {
f.write(data2);
f.flush();
f.close();
} catch (IOException e) {
e.printStackTrace();
}

// Here, use txtFile instead of mediaFile
fileUri = Uri.fromFile(txtFile);
Log.d("TAHH" , "URI = "+fileUri);

关于java - 无法获取文本文件的 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56870027/

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