Android: как записать файл в каталог - PullRequest
0 голосов
/ 17 января 2019

Я думаю, что это проблема установки, но я не могу понять это. Все, что я хочу сделать, это записать файл на SD-карту моего телефона Android и получить файл с моего телефона в конце дня.

Я пытаюсь записать в каталог, который я создал из проводника. Я создал каталог FFT, и из проводника файлов я скопировал в него файл. Когда я смотрю на каталог с помощью ES File Explorer, я вижу каталог и файл в хранилище / 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;
}

Фу верно, устройство кажется записываемым каталог существует и mkDir не вызывается длина 4096 fos = ноль file.canWrite имеет значение false.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...