4

次のコードを使用して、sdcard に書き込みを試みます。

public void writedata(String data) {
          //BufferedWriter out = null;

          System.out.println(data);
          try{

              FileOutputStream out = new FileOutputStream(new File("/sdcard/tsxt.txt"));
              out.write(data.getBytes());
              out.close();  

                } catch (Exception e) { //fehlende Permission oder sd an pc gemountet}
                    System.out.println("CCCCCCCCCCCCCCCCCCCCCCCALSKDJLAK");
                }

          }

マニフェストの許可:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  

しかし、今、ファイルを開くと、そこには何もありません。どこが問題?きっとdata価値があると思います。

編集:

LogCat に次のメッセージが表示されます。

02-06 01:59:51.676: W/System.err(1197): java.io.FileNotFoundException: /storage/sdcard0/sdcard/tsxt.txt: open failed: ENOENT (No such file or directory)

SDカードにファイルを作成しようとしましたが、それでも同じエラーです。ファイルが存在しない場合にファイルを作成するコードはありますか?

4

6 に答える 6

2

これを試して:

BufferedWriter out;         
try {

FileWriter fileWriter= new FileWriter(Environment.getExternalStorageDirectory().getPath()+"/tsxt.txt")

out = new BufferedWriter(fileWriter);

out.write("Your text to write");

out.close(); 

}catch (FileNotFoundException e) {
 e.printStackTrace();
}catch (IOException e) {
 e.printStackTrace();
}
于 2013-06-07T12:07:47.743 に答える
0

このコードは完全に機能しています..

public File getAlbumStorageDir(String albumName) {
        // Get the directory for the user's public pictures directory.
        File file = new File(Environment.getExternalStorageDirectory() + "/files", albumName);
       Log.d("File", "Bug file Created" + file.getAbsolutePath());
        return file;
    }`

sd カード内のテキストファイルを書き込む (/storage/sdcard0/files/bugReport.txt)

 try{
             outputStream = new FileOutputStream(this.getAlbumStorageDir(bugReport.txt));
             outputStream.write(report.toString().getBytes());
             Log.d("File","Report Generated");
             outputStream.close();
         }
         catch(Exception e){
             e.printStackTrace();
         }
于 2014-03-12T10:33:33.080 に答える