JAVA IO流

IO流:概括为两个对应,一个桥梁。

1.按照功能来划分:
输入流:只能从中读取数据,而不能向其写入数据。
输出流:只能向其写入数据,而不能从中读取数据。
2.按照处理单元来划分
字节流和字符流操作的方式基本上完全相同。操作的数据单元不同
字节流:操作的是8位的字节 InputStream/OutputStream 作为字节流的基类
字符流:操作的是16位的字符 Reader/Writer 作为字符流的基类

Fileinputstream FileOutputStream不带缓冲区的字节流

 public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("D:\\img2.jpg");
            FileOutputStream fos = new FileOutputStream("D:\\gg.jpg");
            byte[] b = new byte[1024];
            int a = 0;
            while ((a=fis.read(b))!=-1){
                fos.write(b,0,a);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

BufferedInputStream  bufferedOutputStream  带缓冲区的字节流

 public static void main(String[] args) {

        try {
            FileInputStream fis = new FileInputStream("d:\\img2.jpg");
            FileOutputStream fos = new FileOutputStream("d:\\buy.jpg");
            BufferedInputStream bis=new BufferedInputStream(fis);
            BufferedOutputStream bos=new BufferedOutputStream(fos);
            byte[] b =new byte[1024];
            int a = 0;
            while ((a=fis.read(b))!=-1){
                bos.write(b,0,a);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

FileReader    FileWriter   不带缓冲区的字符流

BufferedReader BufferedWriter  带缓冲区的字节流

public static void main(String[] args) {
        BufferedReader br=null;
        BufferedWriter bw=null;
        InputStream in;
        br=new BufferedReader(new InputStreamReader(System.in));
         try {
            bw=new BufferedWriter(new FileWriter(new File("d:\\ccc.txt"),true));
            String temp="";
            System.out.println("请开始你的表演");
            while ((temp=br.readLine())!=null){
                if (temp.equals("quit")){
                    break;
                }
                bw.write(temp);
                bw.newLine();
            }
            bw.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值