-1

ファイル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

しかし、携帯電話でこのファイルを見ることができません (ルート権限がないため)

SD カードまたは携帯電話で表示できる任意のフォルダーから読み書きしたいと考えています。このコードを変更するにはどうすればよいですか?

4

2 に答える 2

0

内部ストレージには getFilesDir を、外部ストレージには getExternalFilesDir() を使用して、ファイルへのパス全体を指定する必要があります。例えば:

openFileInput(getExternalFilesDir(null) + "/" + "ZIZI.txt");
于 2012-03-30T19:37:33.220 に答える
0

Android Developers Web サイトを使用したことがありませんか?

Try 開発ガイド -> データストレージ ->外部ストレージの使用

于 2012-03-30T18:45:35.073 に答える