如何创建应用程序"在应用程序中保存文件但不能访问我的文件中的另一个应用程序"?

时间:2017-10-17 09:23:19

标签: java android file

我有以下代码:

  InputStream input=null;
        OutputStream output=null;
        HttpURLConnection connection=null;
        try{
            URL url=new URL(strings[0]);
            connection= (HttpURLConnection) url.openConnection();
            connection.connect();

            int filelen=connection.getContentLength();
            input=connection.getInputStream();
            filechache();
            output=new FileOutputStream(android.os.Environment.getExternalStorageDirectory()+"/nikandroid/"
                    +strings[1]+".mp3");
            byte data[]=new byte[4096];
            long total=0;
            int count;
            while((count=input.read(data))!=-1){
                total+=count;
                if (filelen>0) publishProgress((int)(total*100/filelen));
                output.write(data,0,count);
            }

        }catch (Exception e){
            e.printStackTrace();
        }finally {
            try{
                if (output!=null) output.close();
                if (input!=null) input.close();

            }catch (IOException e){
                e.printStackTrace();
            }
            if (connection!=null) connection.disconnect();
        }
        return null;

1 个答案:

答案 0 :(得分:0)

每个应用程序在内部存储中都有一个私人目录。该目录的内容只能由应用程序读取和写入。目录是

/data/data/<yourPackageName>

您可以访问应用程序目录中的各种专用目录,如下所示:

  • context.getFilesDir()返回/data/data/<yourPackageName>/files
  • context.getCacheDir()返回/data/data/<yourPackageName>/cache

外部/共享内部存储可能有类似的目录,但这超出了问题的范围。