java - 在 SDCard 上写入问题 - Android

标签 java android

我正在尝试将文件写入 HTC Hero 手机中的 SD 卡。我使用以下方法在 SDCard 中创建文件:

File = new File(path.getAbsolutePath(), "Filename.txt");

其中path是我的externalStorageDirectory的路径(即\sdcard)

当我记录此文件的路径时,它确实显示\sdcard\filename.txt

但是,当我创建文件输出流来写入文件时,文件路径突然更改为\data\data 并且我无法访问它。

有人可以帮我解释一下如何在 SDCard 中创建文件然后写入吗?

谢谢!

编辑:

path = Environment.getExternalStorageDirectory();
Log.d("SDCARDPLSWORK", path.toString());
    try
    {
        myFile = new File(path.getAbsolutePath(), "SensorValues.txt");
        boolean i = myFile.createNewFile();
        Log.d("SDCARDPLSWORK", myFile.toString() + " " + i);
        fos = new FileOutputStream(myFile);
        Log.d("FILEANDROID", getFileStreamPath("SensorValues.txt").toString());
    }

    catch(FileNotFoundException e)
    {
        e.printStackTrace();
    }

这就是我正在做的事情。 SDCARDPLSWORK 之前的部分是正确的,但是当涉及 FILEANDROID 日志时,它会转到私有(private)数据存储。

最佳答案

getFileStreamPath(..)从本地目录读取。您的调试代码是错误的。

关于java - 在 SDCard 上写入问题 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4322294/

相关文章:

java - 无法使用 Tomcat 服务器从 IntelliJ 中运行/调试 jsp 页面

java - Java中如何调用方法

android - 带按钮的 EditTextPreference

php - 无法将表情符号存储在数据库中

Android:将空 View 设置为 ListView

android - 位置总是返回 null - android

java - 如何使Intellij处理build.gradle中引用的@NotNull批注

java - 如何每x秒更新一个textview?

java - 在 Java 中重新格式化 JSON 数组的最有效内存方式

javascript - 查明 Android 浏览器是在应用程序中运行还是自行运行