Я думаю, что это проблема установки, но я не могу понять это. Все, что я хочу сделать, это записать файл на 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.