IO流

什么是IO流

流:源于Unix中管道的概念。在Unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。

IO流分为几类

这里写图片描述

什么是字节流?什么是字符流?

字节流:字节流是由字节组成的,字节流是最基本的,所有的InputStream和OutputStream的子类都是字节流,主要用在处理二进制数据,它是按字节处理的。
字符流:字符流是由字符组成的,Java里字符由两个字节组成,所有的Reader和 Writer的子类都是字符流,主要用在处理文本内容或特定字符。

字节流与字符流的区别

这里写图片描述

字符流的常用类

字符输出流:Writer
字符输入流:Reader

实现文件复制的思路和步骤

要实现文件的复制,其实质就是对源文件数据进行读取,再将这些数据写入目标文件,从而实现文件的复制。

[java] view plain copy
package com.lenovo.www.enttt;    

import java.io.BufferedReader;    
import java.io.BufferedWriter;    
import java.io.FileNotFoundException;    
import java.io.FileReader;    
import java.io.FileWriter;    
import java.io.IOException;    

public class FileDemo7 {    
    public static  void main(String[] args) {    
        int count = 0;    
        FileReader reader = null;    
        BufferedReader breader = null;    
        BufferedWriter writer = null;    
        try {    
             reader = new FileReader("D:\\java demo\\JAVA.txt");    
             writer = new BufferedWriter(new FileWriter("D:\\java demo\\JAVA2"));    
             breader = new BufferedReader(reader);    

            String temp = "";    
            while((temp= breader.readLine())!=null) {    
                writer.write(temp);    
                writer.newLine();    

            }    
            writer.flush();    
            System.out.println("共循环"+count+"次");    
        } catch ( FileNotFoundException e) {    
            e.printStackTrace();    
        }catch(IOException e) {    
            e.printStackTrace();    
        }finally {    
            try {    
                breader.close();    
                reader.close();    
                writer.close();    
            }catch(IOException e) {    
                e.printStackTrace();    
            }    
        }    
    }    

}    

如何使用字符流进行文件读写

import java.io.BufferedReader;      
import java.io.FileInputStream;      
import java.io.InputStreamReader;      
import java.io.PrintWriter;      
public class T04 {      
    public static void main(String[] args) throws Exception{      
        String value = "一\n";      
        String value2 = "a  一\n";      
        // 向文件中写入内容      
        PrintWriter pw = new PrintWriter("temp.txt","UTF-8");      
        pw.write(value);      
        pw.write(value2);      
        pw.close();      
        // 从文件中读取内容      
        BufferedReader br = new BufferedReader(new InputStreamReader(      
                new FileInputStream("temp.txt"),"utf-8"));      
        String b;      
        while((b = br.readLine())!=null){   // 按行读取      
            System.out.println(b);      
        }      
        br.close();      
    }      
}      
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值