I/O流学习笔记

I/O流学习笔记

流的本质就是对数据的传输

  1. File类
    ①创建一个File类
    File file = new File(文件路径);
    ②获取文件的名称
    file.getName();
    ③创建一个文件
    file.createNewFile();
    ④判断文件是否存在
    file.exists();
    ⑤创建文件夹
    file.mkdir()
    ::创建多级目录文件夹
    file.mkdirs();

  2. 字节流 FileInputStream和FileOutputStrem (读取单位是byte)
    ① 读取文件 FileInputStrem
    FileInputStream fileInputStream = new FileInputStream(file);
    int i = fileInputStream.read();
    while (i > 0){
    System.out.println((char)i);
    i = fileInputStream.read();
    }

    // 以上读取文件的效率偏低
    FileInputStream fileInputStream = new FileInputStream(file);
    byte[] bytes = new byte[1024];  //1kb
    
    // 表示一次读取1kb
    int read = fileInputStream.read(bytes);
    // 对获得的数据进行数据转换
    String s = new String(bytes);
    ② 写入文本 FileOutputStrem
    FileOutputStream fileOutputStream = new FileOutputStream("F:/b.txt");
    fileOutputStream.write(写入的内容);
    
  3. 字符流 Reader

    // Reader实现类

     ① InputStremReader (传入的参数 是char)
     FileInputStream fileInputStream = new FileInputStream(file);
             //获取字符输入流 (需要传入一个字节流)
     InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream,"gbk");
     
             char[] c = new char[64];
             // 传入一个64位的char
             int read = inputStreamReader.read(c);
             System.out.println( new String(c));
             
     ② FileReader(相比上面,不需传入字节流和编码格式)
     FileReader fileReader = new FileReader(file);
      char[] c = new char[64];
             // 传入一个64位的char
             int read = inputStreamReader.read(c);
             System.out.println( new String(c));
             
     ③ BufferedReader(使用BufferedReader读取文本内容可以保证文本内容的格式不被打乱 ::缓冲流)
     
     		 FileInputStream fileInputStream = new FileInputStream(file);
             //获取字符输入流
             InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream);
    
             BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
             String line = null;
             while ((line=bufferedReader.readLine())!= null){
                 System.out.println(line);
             }
    

// 最后注意:一个流使用完需要关闭,否则有些操作无法完成

猜你喜欢

转载自blog.csdn.net/weixin_52065369/article/details/113974477