IO流文件流输入输出读取文件

package com.gx.xmj;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

//FileInputStream:单个字节读取  FileOutputStream:单个字节写入

public class IOTwo {//IO流测试二

    public static void main(String[] args) throws IOException {

        FileInputStream fis = new FileInputStream("D:\\IO流测试\\OneTest.txt");

        FileOutputStream fos = new FileOutputStream("E:\\z\\tttt.txt", true);

        // FileOutpurStream()后面加true表示文件后面可追加

        int a = fis.read();// read()一次读一个字节

        System.out.println(a);// 读取的一个字节输出

        fos.write(101);// write()一次写一个字节

        fis.close();// 一定要记得关闭流,养成好习惯

        fos.close();

        // ----------------------------------------------------------

        System.out.println("FileInputStream和FileOutputStream进行拷贝文本/图片/歌曲");

        FileInputStream fis1 = new FileInputStream("D:\\IO流测试\\OneTest.txt");

        FileOutputStream fos1 = new FileOutputStream("D:\\IO流测试\\bbb.txt");

        // 如果没有bbb.txt,就会创建一个

        int b;

        while ((b = fis1.read()) != -1) {// while循环:一直循环,直到满足条件为止才停止循环

            fos1.write(b);

        }

        fis1.close();

        fos1.close();

        // ----------------------------------------------------------------

        System.out.println("FIleInputStream和FileOutputStream定义小数组进行读写操作;");

        FileInputStream fis2 = new FileInputStream("D:\\IO流测试\\OneTest.txt");

        FileOutputStream fos2 = new FileOutputStream("D:\\IO流测试\\aaa.txt");

        int len;

        byte[] arr = new byte[10214 * 8];// 自定义字节数组

        while ((len = fis2.read(arr)) != -1) {

            fos2.write(arr, 0, len);

        }

        // IO流定义小数组

        // write(byte[] b)

        // write(byte[] b, int off,int len) 写出有效的字节个数

        fis2.close();

        fos2.close();

        // -----------------------------------------------------------

        System.out.println("字节缓冲区流");

        FileInputStream fis3 = new FileInputStream("D:\\IO流测试\\OneTest.txt");

        FileOutputStream fos3 = new FileOutputStream("D:\\IO流测试\\ddd.txt");

        BufferedInputStream bis = new BufferedInputStream(fis3);

        // 使用装饰模式,把fis3装饰进去bis中。使用缓冲区读取速度变快

        BufferedOutputStream bos = new BufferedOutputStream(fos3);

        int c;

        while ((c = bis.read()) != -1) {

            bos.write(c);

        }

        bis.close();

        bos.close();

        // ---------------------------------------------------------------------

        System.out.println("字节流字符流的使用");

        // FileReader类的read()方法可以按照字符大小读取

        FileReader fr = new FileReader("D:\\IO流测试\\OneTest.txt");

        char[] chs = new char[100];

        int d;

        while ((d = fr.read(chs)) != -1) {

            System.out.println(d);// int类型转为字符类型

        }

        fr.close();

        // FileWriter类的write()方法可以自动把字符转为字节写出

        FileWriter fw = new FileWriter("E:\\z\\One.txt", true);

        fw.write("test222");

        fw.close();

        // ----------------------------------------------------

        // 字符流的拷贝

        System.out.println("字符流的拷贝");

        FileReader fr1 = new FileReader("D:\\IO流测试\\OneTest.txt");

        FileWriter fw1 = new FileWriter("D:\\IO流测试\\eee.txt");

        int ch;

        while ((ch = fr1.read()) != -1) {

            fw1.write(ch);

        }

        fr1.close();

        fw1.close();

        // -------------------------------------------------------------------

        BufferedReader br1 = new BufferedReader(

                new FileReader("D:\\IO流测试\\OneTest.txt"));

        BufferedWriter bw1 = new BufferedWriter(

                new FileWriter("D:\\IO流测试\\fff.txt"));

        // BufferedReader和BufferedWriter的使用

        int br;

        while ((br = br1.read()) != -1) {

            bw1.write((char) br);

        }

        bw1.flush();

        br1.close();

        bw1.close();

        // ------------------------------------------------------------------

        InputStreamReader r = new InputStreamReader(new FileInputStream(

                "D:\\IO流测试\\OneTest.txt"), "utf-8");

        OutputStreamWriter w = new OutputStreamWriter(new FileOutputStream(

                "D:\\IO流测试\\ggg.txt"));

        int ww;

        while ((ww = r.read()) != -1) {

            w.write(ww);

        }

        r.close();

        w.close();

    }

}

电脑文件原图:

运行后电脑文件:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值