この問題は何度も解決されているのを見ましたが、不思議なことに解決策を見つけることができませんでした。
SDカードにバイナリファイルを書き込もうとしています。これはソースコードです:
private void saveDataLongs() {
try
{
ObjectOutputStream oos = new ObjectOutputStream(ctx.openFileOutput(Environment.getExternalStorageDirectory().getAbsolutePath()+"/longs.bin", ctx.MODE_WORLD_WRITEABLE));
for (int w=0; w<longCount; w++)
oos.writeLong(longs[w]);
oos.close();
}
catch(IOException e)
{ e.printStackTrace(); }
}
マニフェストには
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
そして私はこのエラーを受け取ります:
01-21 22:19:57.323: E/AndroidRuntime(13713): java.lang.RuntimeException: Unable to start activity ComponentInfo{it.ccc.ccc/it.ccc.ccc.Ccc}: java.lang.IllegalArgumentException: File /sdcard/longs.bin contains a path separator
他の投稿から、一部の関数はアプリのプライベートストレージにのみ書き込むことを目的としているため、ディレクトリとパスを管理することを期待していないことがわかりました。誰かが私を助けることができますか?別の方法を使用してデータをsdに書き込むのでしょうか、それとも実行する前に他のアクションを実行するのでしょうか。SDカードに単純なバイナリファイルを書き込もうとしています(これは事前に計算された数値のシーケンスであり、PCに渡してからアセットに戻す必要があるため、別の方法で取得する必要があります)この目標、とにかく大丈夫です)。
どうもありがとうございます。