java文件基本操作

public static void main(String [] args) {  
        try {
            /*
             * File类
             */
            /*String directory = "D:/Workspaces/abc"; //指定文件路径  
            File filedirectory = new File(directory); //创建文件对象  
            if(!filedirectory.exists()){
                filedirectory.mkdirs();//创建文件目录
            }
            File file = new File(filedirectory,"123.txt");
            if(!file.exists()){
                file.createNewFile();//创建文件
            }*/
            /*
             * Files类
             * import java.nio.file.Files;
             * import java.nio.file.Path;
             * import java.nio.file.Paths;
             */
            String directory = "D:/Workspaces/abc"; //指定文件路径  
            Path filedirectory = Paths.get(directory); //创建文件对象  
            if(Files.exists(filedirectory)){
                Files.createDirectories(filedirectory);//创建文件目录
            }
            filedirectory = filedirectory.resolve("123.txt");//到这一步还没有在本地生成文件
            File file = new File("D:/Workspaces/abc/123.txt");
            if(file.exists()){
                System.out.println("文件名称:" + file.getName());  
                System.out.println("文件是否存在:" + file.exists());  
                System.out.println("文件是否隐藏:"+file.isHidden());
                System.out.println("路径是否是绝对路径:"+file.isAbsolute());
                System.out.println("文件的相对路径:" + file.getPath());  
                System.out.println("文件的绝对路径:" + file.getAbsolutePath());  
                System.out.println("文件可以执行:"+file.canExecute());
                System.out.println("文件可以读取:" + file.canRead());  
                System.out.println("文件可以写入:" + file.canWrite());  
                System.out.println("文件上级路径:" + file.getParent());  
                System.out.println("上级文件名:" + file.getParentFile().getName());  
                System.out.println("文件大小:" + file.length() + "B");  
                System.out.println("文件最后修改时间:" + new Date(file.lastModified()));  
                System.out.println("是否是文件类型:" + file.isFile());  
                System.out.println("是否是文件夹类型:" + file.isDirectory());
            }
            File file2 = new File("D:/Workspaces/1111.txt"); //该文件已存在
            //FileCopyUtils.copy(file2, file);
            FileUtils.copyFile(file2, file);
            System.out.println("文件大小:" + file.length() + "B");
            file.renameTo(new File("D:/Workspaces/abc/321.txt"));
            File file3 = new File(directory);
            File[] file4 = file3.listFiles();
            for(File file5:file4){
                System.out.println(file5.getName());
                file5.delete();
            }
            file3.delete();
            ListRoots();
            //File f =new File("d:\Workspaces");
            //showDir(f);
            fileFilter();
        } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}
//列出磁盘下的文件和文件夹
public static void ListRoots(){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list();
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
             }
         }
}
//利用递归列出全部文件
public static void showDir(File dir){
        System.out.println(dir);
        File[] files =dir.listFiles();
        for(File file:files){
            if(file.isDirectory())
                showDir(file);
            else
                System.out.println(file);
        }
}
//文件过滤,列出磁盘根目录下的txt文件
public static void fileFilter(){
         File[] files =File.listRoots();
         for(File file:files){
             System.out.println(file);
             if(file.length()>0){
                 String[] filenames =file.list(new FilenameFilter(){
                     //file 过滤目录 name 文件名
                     public boolean accept(File file,String filename){
                         return filename.endsWith(".txt");
                     }
                 });
                 for(String filename:filenames){
                     System.out.println(filename);
                 }
              }
          }
}
原文地址:https://www.cnblogs.com/aqsunkai/p/6690597.html