创建内外部文件

来源:互联网 发布:下架黄耀明音乐知乎 编辑:程序博客网 时间:2024/06/08 10:48

创建内部文件or文件夹 /data/data/包名/files/xxx

1.创建内部的文件夹 /data/data/包名/files/xxxdir

1.parent 表示内部路径为:/data/data/包名/files //创建内部不同的文件                        public FileOutputStream createInternalFile(String filename, File  parent) throws IOException{                                                                      //参数1:文件名 // 参数2:path:/data/data/包名/files/         // 1,/data/data/包名/files/yyy        // 2,/data/data/包名/files/xxx/yyy        File newFile = null;        if(parent == null)             {                //如果路径不存在就创建,在path为:/data/data/包名/files 创建一个文件为filename.            foutstream = mContext.openFileOutput(filename, Context.MODE_PRIVATE);        }else{            //parent的路径为/data/data/包名/files/            String path = parent.getAbsolutePath() + "/" + filename; //获取内部默认文件路径            newFile = new File(path);         //引用一个File的对象            if(!newFile.exists()){                newFile.createNewFile();     //创建路径为path的文件            }            foutstream = new FileOutputStream(newFile);  //令文件为写的字符流        }        return foutstream;       //返回文件为写的字符流    }

2.创建内部的文件夹 /data/data/包名/files/xxxdir

    public File creatInternalDir(String dirName){        //2,/data/data/包名/files/xx        //获取到内部文件默认的存储的路径        File interalfile = mContext.getFilesDir();        String path = interalfile.getAbsolutePath();        File  newDir = new File(path + "/" + dirName);        //File newDir = new File(interalfile, dirName);        if(!newDir.exists())            newDir.mkdir();        return newDir;    }

3.另个Activity中

   EditText et_input_area = (EditText) findViewById(R.id.et_input_area);   FileOperation fop    = new FileOperation(QueryActivity.this);   //引用一个类   public void onClick(View v) {        //保存        //获取到输入框的内容        String content = et_input_area.getText().toString();        if(!content.isEmpty()){            // 创建note目录 /data/data/包/files/note            File noteParent = fop.creatInternalDir("note");                  FileOutputStream fout = null;            try {                //1.创建文件 /data/data/包/files/note/mynote1.txt                //2.并返回mynote1.txt为写的文件流                fout = fop.createInternalFile("mynote1.txt", noteParent);                fout.write(content.getBytes()); //使输入框的内容以字节流的形式输入到fout文件中                fout.close();            } catch (IOException e) {                // TODO Auto-generated catch block                e.printStackTrace();            }            //吐丝            Toast.makeText(this, "保存文件成功:" + noteParent.getAbsolutePath(), 1000).show();        }

创建外部文件 /data/data/包名/files/xxx.txt

———————————————————————————-

//在外部存储空间中创建一个文件夹和文件    public File createExternalFile(String filename) throws IOException{        File newFile = null;          //判断sd开是否存在        String state = Environment.getExternalStorageState();        if(state.equals(Environment.MEDIA_MOUNTED)){            Toast.makeText(mContext, "sd准备好了", 1000).show();            //获得外部存储器的第一层的文件对象                                     File downloadFile        =Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);            if(!downloadFile.exists())                downloadFile.mkdir();            //创建文件            String path = downloadFile.getAbsolutePath() + "/" + filename;             newFile = new File(path);            if(!newFile.exists()){                newFile.createNewFile();                // newFile.mkdir(); //当成文件夹也可以            }        }else{            //System.out.println("sd没有准备好");            Toast.makeText(mContext, "sd没有准备好", 1000).show();        }        return newFile;    }-------------------------------------------------------------------------------------------------------------2.另一个Activity中// 演示如何在外部存储空间写文件/mnt/sdcard/Download    File file  = fop.createExternalFile("mydown.c");

注意:Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS); 中填的参数
DIRECTORY_ALARMS //警报的铃声
DIRECTORY_DCIM //相机拍摄的图片和视频保存的位置
DIRECTORY_DOWNLOADS //下载文件保存的位置
DIRECTORY_MOVIES //电影保存的位置, 比如 通过google play下载的电影
DIRECTORY_MUSIC //音乐保存的位置
DIRECTORY_NOTIFICATIONS //通知音保存的位置
DIRECTORY_PICTURES //下载的图片保存的位置
DIRECTORY_PODCASTS //用于保存podcast(博客)的音频文件
DIRECTORY_RINGTONES //保存铃声的位置

0 0
原创粉丝点击