【java】javaSE知识梳理-IO流

在java.io中存在,作用于文件传输和访问。

File类:处理文件的基类

package javaSE;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;

public class FileStreamTest {

    public static void main(String[] args) {
        try {
            fileStream();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    
    public static void fileStream() throws IOException {
        String absolutePathname = "D:\\用户文件\\桌面\\java\\";
        String canonicalPathname = "..\\java\\";
        String fileName = "new1.txt";
                
        File file1 = new File(absolutePathname + fileName);
        File file2 = new File(canonicalPathname + fileName);
        File file3 = new File(absolutePathname);
        
        /**
         * 增
         * */ 
        file2.createNewFile();  // 文件尚不存在时,创建一个新的
        file1.createTempFile("tempFile", ".txt"); // 默认临时文件目录中创建一个新的文件,默认位置C:\Users\CHINA-PICC\AppData\Local\Temp
        file2.createTempFile("tempfile1", "doc", file3); // 指定目录中创建一个新的文件
        //查询目录是否存在,若在删除,不在创建
        File file4 = new File("D:\\用户文件\\桌面\\java\\temp\\core\\");
        if(file4.exists()){
            System.out.println("目录存在" + file4.getAbsolutePath());
            file4.deleteOnExit();  // 删除单层空目录
        }else{
//            file4.mkdir();  // 创建固定目录--单层目录
            file4.mkdirs();  // 创建固定目录--多层目录
            System.out.println("目录不存在,创建新目录:" + file4.getAbsolutePath());
        }
        
        /**
         * 删
         * delete PK deleteOnExit  ???
         * */ 
        file1.delete();  // 删除单层空目录
        file1.deleteOnExit(); // 运行终止时删除指定文件-单层
        
        /**
         * 查
         * getTotalSpace ??
         * */ 
        System.out.println(file1.exists());  // 存在?
        System.out.println(file1.canRead());  // 可读?
        System.out.println(file1.canWrite());  // 可修改?
        System.out.println(file1.canExecute());  // 可执行文件?
        System.out.println(file2.isFile());  // 是否为文件/目录路径?
        System.out.println(file2.isDirectory());  // 是否为目录路径?
        System.out.println(file2.isAbsolute());  // 是否为绝对?
        System.out.println(file2.isHidden());  // 是否为隐藏?
        System.out.println(file1.equals(file2));  // 两个文件/目录路径是否相同?
        System.out.println(file2.lastModified());  // 上次修改的时间
        //路径    
        System.out.println(file2.getPath());  // 相对路径  :..\java\new1.txt
        System.out.println(file2.getCanonicalPath()); // 相对路径--String类型  :D:\workspace\java\new1.txt
        System.out.println(file2.getAbsolutePath());  // 绝对路径--String类型  :D:\workspace\javaSE\..\java\new1.txt
        System.out.println(file2.getCanonicalFile());  // 相对路径--File类型
        System.out.println(file2.getAbsoluteFile());  // 绝对路径--File类型
        System.out.println(file2.getParent());  // 父目录--String类型
        System.out.println(file2.getParentFile());  // 父目录--File类型
        System.out.println(file2.getTotalSpace());  // 分区 named的大小
        // 遍历目录
//        String[] lists = file3.list();  // 获取对应路径下的文件和目录--String类型
//        for(String list:lists){
//            System.out.println(list);
//        }
//        
//        String[] fileLists = file3.list(new FilenameFilter(){ // 获取对应路径下的满足条件的文件和目录--String类型
//            @Override
//            public boolean accept(File dir, String name) {
//                //允许的txt,docx的文件类型
//                return name.endsWith(".txt") || name.endsWith(".docx");
//            }
//        });
//        for(String fileList:fileLists){
//            System.out.println(fileList);
//        }
        
        File[] lists = file3.listFiles(); // 获取对应路径下的文件和目录--File类型
        for (File list : lists) {
            System.out.println(list);
        }

        File[] fileLists = file3.listFiles(new FilenameFilter() { // 获取对应路径下的满足条件的文件和目录--File类型
            @Override
            public boolean accept(File dir, String name) {
                return name.endsWith(".txt") || name.endsWith(".docx");
            }
        });
        for (File fileList : fileLists) {
            System.out.println(fileList);
        }
    }

}

 

posted @ 2021-05-13 16:47  cdan134  阅读(48)  评论(0)    收藏  举报