1

rawフォルダーにpngファイルがあります。次を使用してinputStreamを取得します。

inputStream = getResources().openRawResource(R.raw.test);

このinputStreamをAndroidアプリケーションの新しいファイルに書き込もうとしています。これは私のコードです:

                inputStream = getResources().openRawResource(R.raw.test);
                File file = new File("/test.png");
                outputStream = new FileOutputStream(file);
                int read = 0;
                byte[] bytes = new byte[1024*1024];

                while ((read = inputStream.read(bytes)) != -1) {
                    outputStream.write(bytes, 0, read);
                }

                outputStream.close();
                inputStream.close();

アプリケーションを実行すると、logcat に次のエラーが表示されます。

java.io.FileNotFoundException: /test.png: open failed: EROFS (Read-only file system)

基本的に、これをサーバーに送信できるように File オブジェクトを作成したいと考えています。ありがとうございました。

4

2 に答える 2

0

これが私の解決策です:

                inputStream = getResources().openRawResource(R.raw.earth);
                file = new File(Environment.getExternalStorageDirectory() + File.separator + "test.png");
                file.createNewFile();
                outputStream = new FileOutputStream(file);
                int read = 0;
                byte[] bytes = new byte[1024*1024];
                while ((read = inputStream.read(bytes)) != -1) {
                    outputStream.write(bytes, 0, read);
                }
                outputStream.close();
                inputStream.close();
于 2013-05-31T01:17:45.353 に答える