1

これは、ファイルをダウンロードして内部ストレージに保存するための私のコードです。

public class getResults extends AsyncTask<String, Void, String>{
    @Override
    protected String doInBackground(String... params){
        String fileName = "results"+month+year+".pdf";
        URLConnection conn;
        try {
            URL url = new URL(params[0]);
            conn = url.openConnection();
            int contentLength = conn.getContentLength();
            DataInputStream in = new DataInputStream(conn.getInputStream());

            byte[] buffer = new byte[contentLength];
            in.readFully(buffer);
            in.close();

            if (buffer.length > 0) {
                DataOutputStream out;
                FileOutputStream fos = openFileOutput(fileName,Context.MODE_PRIVATE);
                out = new DataOutputStream(fos);
                out.write(buffer);
                out.flush();
                out.close();
            }

        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return "true";
    }

    protected void onPostExecute(String result){

    }
}

しかし、コードを変更して、ファイルを外部ストレージとアプリプライベートに保存するにはどうすればよいですか?

4

1 に答える 1

2

使用FileOutputStream fos = new FileOutputStream(getExternalFilesDir() + "/" + fileName);ただし、これはプライベート メモリではありません。

于 2014-08-06T19:28:03.980 に答える