代码之家  ›  专栏  ›  技术社区  ›  Denys Séguret

我能用USB访问我创建的文件吗

  •  0
  • Denys Séguret  · 技术社区  · 15 年前

    我在这里迷路了。

    我使用以下(剥离)代码创建文件:

    File dir = getBaseContext().getDir(dirPath, MODE_WORLD_WRITEABLE);
    try {
    File file = new File(dir, fileName);
    FileOutputStream fous = new FileOutputStream(file);
    fous.write(data);
    fous.flush();
    fous.close();
    long l = file.length();
    Log.i("PpCameraActivity", "File size : " + l);
    } catch (IOException e) {
    e.printStackTrace();
    Toast.makeText(getBaseContext(), "Error while trying to write photo file",  Toast.LENGTH_LONG).show();
    }
    

    我可以用logcat验证我的文件似乎是被创建的(它有一个非空的长度)。但当我把我的Android设备连接到我的电脑时,我看不到它。 所以…我的档案在哪里?它是隐藏的吗?擦除?

    编辑:我现在正尝试在SD卡上写,具体使用:

    File root = Environment.getExternalStorageDirectory();
    File jpegFile = new File(root.getAbsolutePath() + "/myApplication/" + filePath);
    
    try {
    jpegFile.mkdirs();
    
    FileOutputStream fous = new FileOutputStream(jpegFile);
    fous.write(data);
    fous.flush();
    fous.close();
    Log.i("PpCameraActivity", "File written : " + jpegFile.getAbsolutePath());
    Toast.makeText(getBaseContext(), "File written : " + jpegFile.getAbsolutePath(), Toast.LENGTH_LONG).show();
    long l = jpegFile.length();
    Log.i("PpCameraActivity", "File size : " + l);
    } catch (IOException e) {
    e.printStackTrace();
    Toast.makeText(getBaseContext(), "Error while trying to write photo file", Toast.LENGTH_LONG).show();
    }
    

    但我在创建fileOutputstream时得到了一个fileNotFoundException…

    2 回复  |  直到 10 年前
        1
  •  1
  •   Denys Séguret    10 年前

    好的,找到了。

    不是Android的问题,只是我的错误(不是第一次):mkdirs必须应用于父文件,而不是我要写入的文件…

    因此,对于感兴趣的人:

    使用访问SD卡

    File root = Environment.getExternalStorageDirectory();
    

    不要忘记需要此权限

    WRITE_EXTERNAL_STORAGE
    

    然后像往常一样创建mkdirs和文件创建。

    别忘了:安卓设备安装在你的电脑上时不能在sdard上写东西。

        2
  •  0
  •   Mark B    15 年前

    你可能没有在写SD卡,而SD卡的内容就是你从USB连接上看到的。

    尝试如下操作: http://androidgps.blogspot.com/2008/09/writing-to-sd-card-in-android.html (这是我搜索“android写入SD卡”时发现的第一件事)。