Не удается найти файл, хранящийся во внутреннем хранилище устройства в проводнике - PullRequest
3 голосов
/ 19 апреля 2011

Я использовал следующий код для сохранения файла во внутренней памяти в приложении, запущенном на устройстве.

private void writeToFile(String s){
 try { // catches IOException below
        FileOutputStream fOut = openFileOutput("samplefile.txt",
                                                MODE_WORLD_READABLE);
        OutputStreamWriter osw = new OutputStreamWriter(fOut); 
        osw.write(s);
        osw.flush();
        osw.close();
        FileInputStream fIn = openFileInput("samplefile.txt");
        InputStreamReader isr = new InputStreamReader(fIn);
        char[] inputBuffer = new char[s.length()];
        isr.read(inputBuffer);
        String readString = new String(inputBuffer);
        Log.i("String", readString);

    } catch (IOException ioe) {
        ioe.printStackTrace();
    }
}  

LogCat показывает, что файл записан правильно. Но при попытке доступа к файлу на устройстве с помощью FileExplorer в Eclipse файл не виден там, где он должен быть ("/data/data/your_project_package_structure/files/samplefile.txt"). Я нахожу внутреннюю папку данных как пустую. Что пошло не так?

Я хочу прочитать этот файл и получить данные для подачи в другое приложение, написанное на python. Возможно ли это?

P.S. Я тестирую приложение на устройстве, а не на эмуляторе.

1 Ответ

2 голосов
/ 19 апреля 2011

В ходе дальнейших исследований я обнаружил, что файлы, хранящиеся во внутреннем хранилище, можно увидеть в проводнике только при использовании эмулятора.Похоже, мне приходится прибегать к внешнему хранилищу.

...