2011-07-15 10 views
1

可能性の重複:
Android write to sd card folderは、Androidで、IllegalArgumentExceptionを与え

このコードのファイル書き込み:上記で生成さ

public void writeFile(String data){ 
try { // catches IOException below 
final String TESTSTRING = new String(data+"-"); 


String path=Environment.getExternalStorageDirectory().getAbsolutePath() 
    + "/test.txt"; 
FileOutputStream fOut = openFileOutput(path, 
             MODE_WORLD_READABLE); 
OutputStreamWriter osw = new OutputStreamWriter(fOut); 

// Write the string to the file 
osw.write(TESTSTRING); 
/* ensure that everything is 
* really written out and close */ 
osw.flush(); 
osw.close(); 

}catch (Exception e) { 
    e.printStackTrace(); 
} 
} 

エラーコード:

java.lang.IllegalArgumentException: File /sdcard/test.txt contains a path separator 

このコードで何か問題が見つかりませんでした。

+0

この回答を確認してください同じ問題が解決しましたhttp://stackoverflow.com/q/2079766/689853 – Harinder

答えて

2

このリンクはお役に立ちます。

Android write to sd card folder

あなたはおそらく '/' ファイル名の前に削除する必要があります。 openFileOuput()はオープンするファイルの名前をとります。パス区切り文字を含むことはできません。

また、マニフェストファイルの外部ストレージに書き込む権限を与えましたか?

1

openFileOutputさは、アプリケーションのプライベートdirectory.Thatに保存されるアプリケーションのためのプライベートファイルを作成するために使用されますが、この方法ではないパス全体にファイル名を送信する必要があるということです。

また、AndroidManifest.xmlにはWRITE_EXTERNAL_STORAGEの権限があることを確認してください。

関連する問題