Как получить доступ к записанным файлам без прав root? - PullRequest
0 голосов
/ 30 марта 2012

У меня есть этот код для записи и чтения в файл ZIZI.txt :

//=============== Write To File ZIZI.txt ===============================================
    private void writeFileToInternalStorage() {
        String eol = System.getProperty("line.separator");
        BufferedWriter writer = null;
        try {
          writer = new BufferedWriter(new OutputStreamWriter(openFileOutput(
              "ZIZI.txt", MODE_WORLD_WRITEABLE)));
          writer.write("This is a test1." + eol);
          writer.write("This is a test2." + eol);
        } catch (Exception e) {
                e.printStackTrace();
        } finally {
          if (writer != null) {
            try {
                writer.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
          }
        }
        Toast.makeText(getBaseContext(),"OK Save", Toast.LENGTH_SHORT).show();
    }

    //================ Read From File ZIZI.txt ===========================================
    private void readFileFromInternalStorage() {
        String FF="";
        String eol = System.getProperty("line.separator");
        BufferedReader input = null;
        try {
          input = new BufferedReader(new InputStreamReader(openFileInput("ZIZI.txt")));
          String line;
          StringBuffer buffer = new StringBuffer();
          while ((line = input.readLine()) != null) {
              FF+=line+eol;
            buffer.append(line + eol);
          }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
        if (input != null) {
          try {
            input.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
          }
        }
    Toast.makeText(getBaseContext(),FF, Toast.LENGTH_SHORT).show();
    }  

Я вижу с DDMS, что файл находится в: \data\data\setup.myProject\files\ZIZI.txt

Но я не вижу этот файл в своем телефоне (потому что у меня нет прав root)

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

Ответы [ 2 ]

0 голосов
/ 30 марта 2012

Вам необходимо указать полный путь к вашему файлу, используя либо getFilesDir для внутреннего хранилища, либо getExternalFilesDir () для внешнего хранилища. Например:

openFileInput(getExternalFilesDir(null) + "/" + "ZIZI.txt");
0 голосов
/ 30 марта 2012

Вы никогда не пользовались сайтом разработчиков Android?

Попробуйте Dev Guide -> Хранение данных -> Использование внешнего хранилища

...