-2

このコードを使用して data.txt を作成しました:

String data = "etc etc etc etc。。" 
                   try {
                   FileOutputStream fOut;

                   fOut = openFileOutput("data.txt", MODE_WORLD_READABLE);

                   OutputStreamWriter fw = new OutputStreamWriter(fOut); 

                   fw.write(data);
                   fw.flush();
                   fw.close();

                } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();

しかし、それがどこに書き込まれたかをどのように知ることができますか? data.txt のパスを定義するにはどうすればよいですか?

他のアクティビティを使って読みたいので、パスからの読み方も知っておく必要があります..

4

2 に答える 2

0

あなたはこのようにすることができます...

     static final String FILE_LOG = "log.txt";

    String s = "Hello";
            File file;
            FileOutputStream fos = null;

            try
            {
                file = new File(getExternalFilesDir(null), FILE_LOG);
                fos = new FileOutputStream(file);
            }
            catch(FileNotFoundException e)
            {
                Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
                return;
            }

            try
            {
                fos.write(s.getBytes());
                fos.close();
            }
            catch(IOException e)
            {
                Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
                return;
            }

   String path = file.getAbsolutePath().toString();
   Toast.makeText(this, "File is saved to " + path, Toast.LENGTH_SHORT).show();
   Log.e("PATH", path);

これがお役に立てば幸いです。

ありがとう...

于 2012-10-16T13:11:46.047 に答える
-1

私はこれがうまくいくと思います:

File root = Environment.getExternalStorageDirectory();
String data = "etc etc etc etc。。";
try{
    if (root.canWrite()){
        File txtfile = new File(root, "data.txt");
        FileWriter txtwriter = new FileWriter(txtfile, true);
        BufferedWriter out = new BufferedWriter(txtwriter);
        out.write(data);
        out.close();
    }
}
catch (IOException e){
    e.printStackTrace();
}

}

このコードは、data.txt ファイルを外部ストレージのルート ディレクトリに作成します。この権限を AndroidManifest.xml ファイルに追加することを忘れないでください。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
于 2012-10-16T18:31:51.497 に答える