2017-02-20 37 views
1

Я пытаюсь написать CSV-файл на карту micro SD, которую я подключил к моему Android-планшету Android. Всякий раз, когда я пытаюсь записать файл на SD-карту, единственное, что появляется на SD-карте, когда я подключаю его к компьютеру, это пустая папка с именем lost.dir. Я провел некоторое исследование по этому вопросу, и похоже, что lost.dir - это папка, созданная при утрате некоторых данных. Я не уверен, почему данные теряются. Я уверен, чтобы правильно смонтировать и размонтировать SD-карту, и я не понимаю, что делать, чтобы исправить эту проблему. Вот код, я использую:Запись файла на SD-карту на Android (lost.dir)

String string = 
      " \n" + teamNum + "," + matchNum + ","+ gearPoints + "," + climbScored 
        + "," + ballsHigh + "," + ballsLow + "," + gearsAuto + "," + 
      hiBallsAuto + "," + lowBallsAuto + "," + driveForward + ""; 

    if(isSdWriteable()) { 
     File sdCard = Environment.getExternalStorageDirectory(); 
     File file = new File(sdCard, "scout9000.csv"); 

     try { 
      FileOutputStream outputStream = new FileOutputStream(file); 
      outputStream.write(string.getBytes()); 
      outputStream.close(); 
     } catch (Exception e) { 
      System.out.println("Error writing file."); 
     } 
    } 

Вот моя isSdWriteable функция:

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

Любая помощь приветствуется.

+0

IIRC lost.dir создается каждый раз, когда вы подключаете любое хранение и андроид – Qwertie

ответ

0

Environment.getExternalStorageDirectory() не означает вашу внешнюю SD-карту. See API ref here:

Примечание: не следует путать слово «внешний» здесь. Этот каталог лучше рассматривать как носитель/общий накопитель. Это файловая система, в которой может хранить относительно большой объем данных и распределяется между всеми приложениями (не применяет разрешения). Традиционно это SD-карта, но она также может быть реализована как встроенное хранилище в устройстве , которое отличается от защищенного внутреннего хранилища и может быть , установленным как файловая система на компьютере.

Получение вашей внешний SD карта является более сложной - см существующего вопроса здесь: How can I get external SD card path for Android 4.0+?

 Смежные вопросы

  • Нет связанных вопросов^_^