gpt4 book ai didi

java - 将数据输出到 android 上的文件,不确定它要去哪里或是否去任何地方

转载 作者:太空狗 更新时间:2023-10-29 13:30:52 28 4
gpt4 key购买 nike

我正在尝试从我正在编写的 Android 应用程序中一次输出一个数值,但我在弄清楚发生了什么时遇到了很多麻烦。试图寻找答案,但只会更加困惑。我觉得这应该是相对简单的事情,所以我对它如此困惑感到很愚蠢。

String directory = Environment.getExternalStorageDirectory().getAbsolutePath();

当我登录目录时,我得到一个路径“/storage/emulated/0” 那在哪里?这与我不进行调试时得到的结果有什么不同吗?

然后我有:

String fileName = directory + "/Android/data/com.sample.app/files/test.txt"
File myFile = new File(fileName);
FileOutputStream fos;
try {
fos = new FileOutputStream(myFile);
String text = "Test text\n";
fos.write(text.getBytes());
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}

我尝试使用 Windows 资源管理器找出正在保存和/或应该保存内容的位置,但我没有看到它。这是基于此链接中的信息的代码:http://developer.android.com/guide/topics/data/data-storage.html ,但我真的不明白“/storage/emulated/0”从何而来以及我如何访问该位置或摆脱它。

编辑:现在我只想保存所有数字,以便检查结果。这些数字是从音频输入中记录下来的。

编辑:使用我手机上的 ASTRO 文件应用程序显示文件不需要“/Android/data/com.sample.app/files/”部分,不知道如何使用它。

最佳答案

路径错误?

/storage/emulated/0是您文件系统中代表外部存储的路径。在早期版本的 Android 中,我们经常有 /mnt/sdcard/或类似的东西,但今天的许多设备都没有 SD 卡,但无论如何都会模拟外部存储。

要查看 Android 文件系统中的文件,我建议使用类似 Astro File Manager 的应用程序.看看你的文件是否已经写入。

一个可能的错误是,你错过了一个 File.separator在你的 directory 之间和本地路径。

String fileName = directory + File.seperator + "Android/data/com.sample.app/file/test.txt"

目录已创建?

您还应该通过调用 myDir.mkDirs(); 来确保该目录存在, 其中myDir是没有文件名的完整路径。

要创建目录,您可以使用以下代码

directory = directory + "/Android/data/com.sample.app/file/test.txt" 
new File(directory).mkDirs();

在 list 中使用权限?

最后一个错误来源可能是,您可能会错过外部存储权限,您需要一个

您还需要确保您需要写入外部存储的权限。查看<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />在您的 Android list 文件中。

关于java - 将数据输出到 android 上的文件,不确定它要去哪里或是否去任何地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15602042/

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