• 文件类:
        java.io.File
            基本方法;
                exists(): 判断这个文件是否存在
                mkdir(): 创建文件夹路径(只能建一层)
                mkdirs(): 创建文件夹路径
                createNewFile(): 创建文件
                delete(): 删除文件
                renameTo(): 对文件进行更名操作(也可以移动文件)
                geName(): 获取文件名称
                getPath(): 获取文件路径
                length(): 获取文件大小
                isDirectory(): 判断这个东西是不是一个目录
                isFile(): 判断这个东西是不是一个文件
                listFiles(): 获取当前这个路径下面所有的文件和文件夹
    
    IO流(IN / OUT)
        什么是流
            流, 可以看成是一根管道, 用来读取文件的数据
            原始的数据都是用过二进制的形式来进行数据的传输, 
                文件---10111010-->程序
                文件<--10111010---程序
    
        流的分类
            按照数据流的方向
                输入流(Input), 输出流(Output)
                    输入流: 从文件往程序走数据
                    输出流: 从程序往文件走数据
    
            按照处理数据的单位不同:
                八大数据类型所占字节数:
                    byte(1), short(2), int(4), long(8)
                    float(4), double(8)
                    boolean(1)
                    char(2)
    
                字节流(以stream结尾的), 
                字符流(以Reader, Writer结尾的)
                    字节流: 一个字节占8位, 以一个字节为单位读数据
                    字符流: 一个字符占两个字节, 以一个字符为一个单位
            
            按照功能分:
                节点流, 处理流
    
                    节点流: 只有一个根管道套在文件上进行传输
                    处理流: 将节点流处理一下, 增强管道的功能, 相当于在管道上套一层
        
        JDK提供的流
            提供了四个基本抽象类: 
                InputStream, OutputStream, Reader, Writer
            
            InputStream的基本方法:
                int read(): 每次调用这个方法, 就读取一个字节, 以整数的形式返回
                int read(byte[] buffer---缓冲区): 让流每次读满一个缓冲区, 再统一处理, 先存在缓冲区里, 返回值int是返回实际当中读取了多少字节数(伤硬盘的原理)
                int read(byte[] buffer, int offset, int length): 也是一个缓冲区, 读取length长度的字节数, 存到buffer的缓冲区里, 从buffer的offset位置开始存, 返回值是实际读了多少字节数
                close(): 关闭资源
    
            OutputStream的基本方法:
                void write(int b)
                void write(byte[] b)
                int wirte(byte[] buffer, int offset, int length)
                close()
                flush(): 将缓冲区中的文件全部写出
                在使用流的时候的一个良好的习惯, 先flush, 再close
            
            Reader的基本方法:
                int read()
                int read(char[] c)
                int read(char[] c, int offset, int length)
                close()
    
            Writer的基本方法:
                void write()
                void write(char[] c)
                void write(char[] c, int offset, int length)
                // 直接写一个字符串出去, 字符串里面的有一个方法s.toCharArray(), 查API
                void write(String s)
                void write(String s, int offset, int length)
                close()
                flush()
             
        文件流(字节流, 字符流)
        缓冲流
        转换流--->字节-字符
        数据流--->八大数据类型
        Print流--->System.out.println();
        Object流--->
    package test2;
    
    import java.io.File;
    import java.io.IOException;
    
    public class Test {
    
        public static void main(String[] args) {
            //File file = new File("f:/abc/def/ghi/t1.txt");
            File file2 = new File("f:/abc"); 
    /*        if (file.exists()) {
                System.out.println("文件存在 !");
            } else {
                System.out.println("不存在 !");
            }
            boolean b = file.mkdirs(); // 创建一个目录
            System.out.println(b);*/
    /*        try {
                boolean b2 = file.createNewFile();
                System.out.println(b2);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }*/
            
    /*        boolean b3 = file.delete();
            System.out.println(b3);*/
            
    /*        boolean b4 = file.renameTo(file2);
            System.out.println(b4);*/
            // b kb mb gb tb 
            
    /*        System.out.println(file2.getName());
            System.out.println(file2.getPath());
            System.out.println(file2.length());
            System.out.println(file2.isFile());
            System.out.println(file2.isDirectory());*/
    /*        File[] files = file2.listFiles();
            for (File file : files) {
                System.out.println(file.getName());
            }*/
            
            File file = new File("F:\20180315\0513 集合作业 流\test");
            System.out.println(file.getName());
            if (file.exists()) {
                print(file.listFiles(), 1);
            } else {
                System.out.println("文件不存在 !");
            }
            
        }
    
        public static void print(File[] files, int len) {
            for (File file : files) {
    /*            if (file.isDirectory()) {
                    p(len);
                    System.out.println(file.getName());
                    print(file.listFiles(), len + 1);
                } else {
                    p(len);
                    System.out.println(file.getName());
                }*/
                p(len);
                System.out.println(file.getName());
                if (file.isDirectory()) {
                    print(file.listFiles(), len + 1);
                }
            }
        }
        
        public static void p(int len) {
            for (int i = 0; i < len; i++) {
                System.out.print("    ");
            }
        }
    }
  • 相关阅读:
    浏览器中复制不能复制的文档并使用word通配符进行高级替换整理
    windows找回映像文件“装载”快捷菜单
    python如何得到模块所在的目录
    搜狗五笔输入法自定义短语使用及设置
    启动office应用更新失败无法进入excel、word、visio的问题解决
    使用ssh登录windows10
    python的索引与切片
    python列表和元组的操作函数
    Python字符串的格式化
    与python字符串相关的一些函数
  • 原文地址:https://www.cnblogs.com/F9801/p/9036828.html
Copyright © 2020-2023  润新知