Android 写文件,及手机和SD卡根目录

时间:2024-03-06 10:43:18

private void mCreatFile() {
        try {
            //获取手机本身存储根目录Environment.getExternalStoragePublicDirectory("")
            //sd卡根目录Environment.getExternalStorageDirectory()
            String path = Environment.getExternalStoragePublicDirectory("") + "/111myprint/";
            String fileName = "print.txt";
            File file = new File(path);
            if (!file.exists()) {
                file.mkdir();
            }
       //第三个参数:真,后续内容被追加到文件末尾处,反之则替换掉文件全部内容 FileWriter fw
= new FileWriter(path + fileName, true); BufferedWriter bw = new BufferedWriter(fw); bw.append("在已有的基础上添加字符串"); bw.write("abc\r\n ");// 往已有的文件上添加字符串 bw.write("def\r\n "); bw.write("hijk "); bw.write("hijk "); bw.write("hijk "); bw.close(); fw.close(); } catch (Exception e) { e.printStackTrace(); } }

 

1、判断SD卡是否插入
    Environment.getExternalStorageState().equals(
    android.os.Environment.MEDIA_MOUNTED);
    这个在我之前做的东西中就非常有用,因为涉及到SDK的读取,自然就需要先判断SDK是否插入。
2、获得sd卡根目录: 
     File skRoot = Environment.getExternalStorageDirectory();
二.私有目录下的文件操作:
1、获得私有根目录:
Environment.getExternalStoragePublicDirectory("");
2.文件夹或文件夹操作:
(1)获得文件夹和文件路径
a.获得文件或文件夹的绝对路径和相对路径。区别
    String path = File.getPath();//相对
    String path = File.getAbsoultePath();//绝对
b.获得文件或文件夹的父目录
   String parentPath = File.getParent();
c.获得文件或文件夹的名称:
   String Name = File.getName();
(2)建立文件或文件夹
   File.mkDir(); //建立文件夹
   File.createNewFile();//建立文件
(3)判断是文件或文件夹
   File.isDirectory()
   File.isDirectory()
(4)列出文件夹下的所有文件和文件夹名
   File[] files = File.listFiles();
(5)修改文件夹和文件名
   File.renameTo(dest);
(6)删除文件夹或文件
   File.delete();