如何在没有root权限的情况下访问写入的文件?

时间:2012-03-30 18:36:39

标签: android root android-external-storage

我有这个代码用于写入和读取文件 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 :(得分:0)

您是否从未使用过Android Developers website?

尝试开发指南 - >数据存储 - > Using the External Storage

答案 1 :(得分:0)

您需要指定文件的完整路径,使用getFilesDir进行内部存储,或使用getExternalFilesDir()进行外部存储。例如:

openFileInput(getExternalFilesDir(null) + "/" + "ZIZI.txt");