JAVAday28

IO: 
  按方向划分: 
   输入流
   输出流

 按类型划分: 
  字节流:
  字符流:
--------------------------------------------------
 字节输入流:
 字节输出流:
 
 字节流的常用类: InputStream : 抽象类
    1.FileInputStream   专门处理文件
                 read();  -1
                   read(byte[] b);
                      read(byte[] b,int offset , int len);
    2.ByteArrayInputStream  字节数组流
                 read();
                 read(byte[] b ,int offset , int len);
    3.ObjectInputStream 对象流      反序列化
                 readObject(); 

                 OutputStream: 抽象类
    1.FileOutputStream
               write(int a);
               write(byte[] b);
    2.ByteArrayOutputStream
    3.ObjectOutputStream  序列化
               writeObject(Object obj);

 File类; 代表文件 或 目录(文件夹)
   new File(String path);   
   new File(File file);
   new File(File parent, String child);
   new File(String parent, String child);
   
   1.createNewFile(); 创建一个新的文件
   
      if(!file.exists()){
           file.createNewFile();
      }
   2.mkdir();  mkdirs(); 
   3.delete(); 
   4.getAbsolutePath();
                      File().getPath();
   5.getName();
   6.isDirectory(); 判断是否是文件夹
   7.isFile(); 
   8.length(); 
   9.lastModified();
   10.File[]  listFile();   获取一个目录下的内容  (一层)
   11.renameTo(File file);
   12.createTempFile(String prefix,String suffix,File file);   
}
--------------------------------------------------------
字符流:  
  字符输入流: 
    Reader: 
      常用子类: 
        1.BufferedReader:  字符流的缓冲区
                 close();
                 read(); 
                 read(char[] c, int offset , int len);
                 readLine(); 按行读
        
        2.CharArrayReader
              close();
              read();
              read(char[] ch , int offset , int len);       
        3.InputStreamReader   转换流
             
              常用方法: reader.getEncoding()
                       reader.read();
                       reader.read(char[] c , int offset , int len);
        
             |--FileReader  文件字符流
              
  字符输出流 : Writer
    1.BufferedWriter :
          重点方法:
             close();
             flush();      
             writer(String str); 一次写一行 
             newLine(); 创建新的行
         
    2.CharArrayWriter : 不是特别重要
             append(); 拼接
             write(char[] c);
             toCharArray();
             toString();
             
    3.OutputStreamWriter
          close();关闭
          flush(); 强制写出  将缓存中的 内容 一些性能全部 写出
          getEncoding();
          writer(int a);  一次 也可以写一个
          writer(char[] c ,int offset , int len);
          writer(String str,int offset , int len);
    
         |-- FileWriter
         
    4.PrintWriter: 字符流的打印流
        new PrintWriter(File file);  
        new PrintWriter(OutputStream ops);      
        new PrintWriter(Writer writer);
             
        常用方法:  
          append();
          print();
          println();
          writer();     
             
            System.in 代表的是 字节流
             我们可以使用这句话 完成控制台输入
               new Scanner(System.in);
               new InputStreamReader(System.in);
              
字节流和 字符流的 应用场景: 
 1.字节流 读取的是 多媒体文件, mp3 , mp4, jpg ,png ...
 2.字符流 读取的 是 文本 ,
-------------------------------------------------------------
异常 跟 流 有关的知识点: 
   资源的自动关闭:
       //jdk1.5 提供的  资源的自动关闭
        try(
                //可视性不好
          InputStream ips = new FileInputStream(file);
            
           ){
        
            int a = 0;
            while((a = ips.read())!= -1){
                System.out.println((char)a);
            }
            
        } catch (Exception e) {
            e.printStackTrace();
        }
   

1. 使用字符流 完成文件的 复制
 
2. 文件夹的复制
  


            
            
  
  
  
  
  
  
 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值