通过我的 Android 程序,我写了一个这样的文件:

String file = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Files/hello.txt";
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(str+"\n");     \\yeah string has a value there
writer.close();

现在,当我进入 Android 的“Astro”文件浏览器时,我可以在以下位置看到文件 hello.txt /mnt/sdcard/Files 但是当我在 Windows 中安装 SD 卡时,我只能看到该文件夹​​中的其他 4 个文件,但看不到 hello.txt。

在 Windows 本身中,我什至尝试取消选中隐藏隐藏文件选项,只是为了确保该文件不是隐藏的,但只是不可见。

我什至尝试将文件写入 SD 卡的根目录中,但又出现同样的问题。现在我很惊讶我怎么可能在 Android 中看到该文件,但在 Windows 中却看不到。在 Android 中,我什至检查了文件内容,一切看起来都很好。

可能是什么问题呢?难道是我写文件的方式不对?

附:是的,清单许可 android.permission.WRITE_EXTERNAL_STORAGE 被添加。

有帮助吗?

解决方案

好吧,我知道为什么会这样了。实际上,即使我们按“后退”按钮,程序也会继续运行,除非我转到 Settings > Applications > Manage Applications > "Force Stop" <application> 我无法访问该程序写入的文件,即使它位于 SD 卡上并且文件编写器已关闭。

这只是基于我的观察,我希望有人能用事实和解决方案发布更好的答案。

编辑:我会相应地更新我的问题。

编辑:根据元上的建议,我发布了一个新问题

除非我“强制关闭”应用程序,否则无法在 Windows 中看到由 Android 应用程序在 SD 卡上写入的文件

其他提示

如果情况更糟,最严重的断开连接,请重新启动并重新连接您的 Android 设备。然后文件应该会显示。

我找到了一个解决方法。

我编写了一个例程来捕获手机加速度计的数据。我注意到,如果该文件具有 .dat 或 .txt 扩展名,我就看不到它,也无法将其复制到我的电脑上。

通过在 Android 端不为文件分配文件扩展名,我发现它在 PC 上是可见的。复制到PC上并添加.txt扩展名后,就可以在PC上查看了。

显示隐藏的文件和文件夹

  • 在控制面板中打开文件夹选项
  • 单击“开始”,然后单击“控制面板”。
  • 单击“外观和主题”,然后单击“文件夹选项”。
  • 在“查看”选项卡上的“隐藏文件和文件夹”下,单击“显示隐藏文件和文件夹”。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top