• 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);
                     }
                  }
              }
    }
  • 相关阅读:
    ThreadPoolExecutor的corePoolSize、maximumPoolSize和poolSize
    ThreadPoolExecutor线程池的一个面试题
    SpringBoot 集成Jedis操作set
    死磕JVM之类中各部分的加载顺序
    ThreadLocal为什么会内存泄漏
    有趣的RPC理解
    MQ如何解决消息的顺序性
    Collections.sort排序
    对象的内存分析
    类与对象的分析
  • 原文地址:https://www.cnblogs.com/aqsunkai/p/6690597.html
Copyright © 2020-2023  润新知