Java 本地文件操作

2016-04-23  本文已影响530人  Yanci516

File类简介

文件的创建、删除、重命名

public class FileTest {

    public static void main(String[] args) {
        // 创建文件对象
        File file = new File("Hello File.txt");
        File file2 = new File("newHello.txt");
        try {
            file.createNewFile();  //创建文件
            System.out.println("创建文件成功");
        } catch (IOException e) {
            System.out.println("创建文件失败");
        }
        file.renameTo(file2);  //文件重命名
    }
}

文件夹的创建、删除、重命名

public class FileTest {

    public static void main(String[] args) {
        // 创建文件夹对象
        File floder = new File("Hello floder");
        File floder1 = new File("new floder/one/two/three/main");
        File floder2 = new File("new Hello fioder");
        if(floder.mkdir()){  
            //mkdir() 方法返回的是boolean类型值,所以可以做判断是否创建成功
            System.out.println("文件夹创建成功");
        }else if(floder.exists()){
            //exists()方法为判断是否存在当前文件夹,返回bollean值类型
            System.out.println("文件夹以存在,不用创建");
        }else {
            System.out.println("创建文件夹失败");
        }
         // mkdirs()方法自动完成one two three main 文件夹的创建
        floder1.mkdirs(); 
        floder.renameTo(floder2);//重命名文件夹
        //floder.delete(); //删除该文件夹
        
    }    
}

文件属性的读取

  • exists() 方法判断文件是否存在
public class FileTest2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File file = new File("floder/Hello.txt");
        
        //判断文件是否存在
        System.out.println("文件是否存在:"+file.exists());
        //读取文件名称
        System.out.println("文件的名称 :"+file.getName());
        //读取文件路径
        System.out.println("文件的路径:"+file.getPath());
        //读取文件绝对路径
        System.out.println("文件的绝对路径:"+file.getAbsolutePath());
        //读取文件父级路径
        System.out.println("文件的父级路径:"+file.getParent());
        //读取文件大小
        System.out.println("文件的大小:"+file.length());
        //判断文件是否被隐藏
        System.out.println("文件是否被隐藏:"+file.isHidden());
        //判断文件是否可读
        System.out.println("文件是否可读:"+file.canRead());
        //判断文件是否可写
        System.out.println("文件是否可写:"+file.canWrite());
        //判断文件是否为文件夹
        System.out.println("判断是否为文件夹:"+file.isDirectory());
    }
}

文件属性的设置

public class FileReadWrite {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        File file = new File("floder/Hello.txt");
        //设置文件可写
            file.setWritable(true);
        //设置文件可读
            file.setReadable(true);
        //设置文件为只读
            file.setReadOnly();
    }

遍历文件夹

public class FileScaner {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        scanerFile(new File("E:/study_Java"),1);
    }
    public static void  scanerFile(File dir,int tab) {
        if (dir.isDirectory()) {//判断是否为文件夹
            //将该文件夹下所有的文件及文件夹存入数组中
        File nextDir[]= dir.listFiles(); 
        for (int i = 0; i < nextDir.length; i++) {
            // 这个for循环为了增强输出格式的可读性
            for (int j = 0; j < tab; j++) {
                System.out.print("|--");
            }
            //输出文件及文件夹名
            System.out.println(nextDir[i].getName());
            if (nextDir[i].isDirectory()) {
                //如果为文件夹,则递归调用sannerFile
                scanerFile(nextDir[i],tab+1);
            }
        }
        }
    }
}

文件的简单读写

public class ReadWriteTextFile {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        readFile(new File("floder/Hello.txt"));
        writeFile(new File("floder/HelloWrite"));
    }

    public static void readFile(File file) {
        
        try {
            //创建文件字节输入流
            FileInputStream fis = new FileInputStream(file);
            //创建字符输入流
            InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
            //创建缓冲流
            BufferedReader br = new BufferedReader(isr);
            
            String line ;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            br.close();
            isr.close();
            fis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }    
    }
    
    public static void writeFile (File file) {
        try {
            //创建文件输出流
            FileOutputStream fos = new FileOutputStream(file);
            //创建字符输出流
            OutputStreamWriter osw = new OutputStreamWriter(fos,"UTF-8");
            //创建输出缓冲流
            BufferedWriter bw = new BufferedWriter(osw);
            
            osw.write("宣州谢朓楼饯别校书叔云\n");
            osw.write("弃我去者,昨日之日不可留;\n");
            osw.write("乱我心者,今日之日多烦忧。\n");
            osw.close();
            osw.close();
            fos.close();
            
         } catch (FileNotFoundException e) {
            e.printStackTrace();
         } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
         } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读