Android:如何将文件写入目录

时间:2019-01-17 05:11:30

标签: android file

我认为这一定是设置问题,但我无法弄清楚。我要做的就是在Android手机sdcard上写入文件,并能够在一天结束时从手机中获取文件。

我正在尝试写入从文件浏览器创建的目录。我创建了目录FFT,并从文件浏览器中复制了一个文件。当我使用ES File Explorer查看目录时,可以在storage / emulated / 0 / FFT / Constants.java中看到目录和文件。我知道目录可以写入,只是不能从我的Android应用程序写入。

我尝试了很多事情,我不确定什么是真实的。

在我的AndroidManifold.xml中,我有一行

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我试图找出答案的代码:

boolean  foo = isExternalStorageWritable();
if (! foo){
    textView.setText("xNot Writeable");
}
else {
    String fullPath = Environment.getExternalStorageDirectory().getAbsolutePath();
    fullPath += "/FFT";
    File dir = new File(fullPath);

    // Make sure the directory exists
    if (!dir.exists())
        dir.mkdir();

    long len = dir.length();

    String filePath = fullPath + "/index.html";
    File file = new File(filePath);

    FileOutputStream fos = null;
    try {
        fos = new FileOutputStream(file.getPath());
        for (int i = 0; i < 10; i++){
            fos.write(23); //"Anyone Listening: ");
        }
    } catch (Exception e) {
    }

    if (! file.canWrite()){
        textView.setText("zNot Writeable" + Long.toString(len));
    }
    else {
    }

使用,从某处复制

public boolean isExternalStorageWritable() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        return true;
    }
    return false;
}

Foo是正确的,该设备似乎可写 该目录存在且未调用mkDir len是4096 fos =空 file.canWrite为假。

0 个答案:

没有答案