1

このコードを使用してAndroidアプリのファイルに書き込もうとしています。

File save = new File("sdcard/save.txt"); 
if(!save.exists()) {
    try {
        save.createNewFile();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

try {
    FileOutputStream fos = new FileOutputStream(save);
    OutputStreamWriter osw = new OutputStreamWriter(fos);

    osw.write("1");
    osw.flush();
    osw.close();
} catch (FileNotFoundException e1) {
    e1.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

IOExceptionしかし、私のデバッガーは行の後に行きますosw.close();

問題はその段階eが存在しないことであるため、例外メッセージを読むことができません。

androidManifest.xmlに適切な権限を追加しました

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

しかし、それは機能しません。

4

3 に答える 3

2
 File save = new File("sdcard/save.txt"); is bad code   

以下のコードを使用してください

String path= Environment.getExternalStorageDirectory().getAbsolutePath();
String fileName = "myFile.txt";

File file = new File(path + File.separator + fileName);
于 2012-08-13T14:22:50.967 に答える
0

で許可を与える必要があると思いますmanifest.xml

于 2012-08-13T15:15:58.247 に答える
0

最近、SDカードに次のようにファイルを書き込みました。

private static final String sdcardPath = "/mnt/sdcard/yourfolder_or_fileName"
File folder = new File(path);

ただし、前述のように、このソリューションを使用する必要があります

String path= Environment.getExternalStorageDirectory().getAbsolutePath();
于 2012-08-13T18:04:48.547 に答える