Java-IO流学习

IO流分为输入输出流,又分为字节流跟字符流。

字节流:

 public static void inputOutputStreamTest() throws Exception {
        FileInputStream fileIn = new FileInputStream("1.jpg");
        BufferedInputStream bis = new BufferedInputStream(fileIn);
        FileOutputStream fileOut = new FileOutputStream("2.jpg");
        BufferedOutputStream bos = new BufferedOutputStream(fileOut);
        int len = 0;
        byte[] data = new byte[100];
        while ((len = bis.read(data, 0, 100)) != -1) {
            bos.write(data, 0, len);
            bos.flush();
        }
        bos.close();
        bis.close();
    }

对象流(序列化、反序列化)

 public static void serializableTest() {
        ArrayList<Sequence> list = new ArrayList<>();
        Sequence sq = new Sequence("Chris", 100, 10);
        list.add(sq);
        Sequence sq1 = new Sequence("James", 200, 11);
        list.add(sq1);
        try {
            FileOutputStream fileout = new FileOutputStream("test.ser");
            ObjectOutputStream out = new ObjectOutputStream(fileout);
            out.writeObject(list);
            out.close();
            fileout.close();
        } catch (Exception i) {
            System.out.println(i.toString());
        }

        try {
            FileInputStream filein = new FileInputStream("test.ser");
            ObjectInputStream input = new ObjectInputStream(filein);
            ArrayList<Sequence> temp = (ArrayList) input.readObject();
            System.out.println(temp.toString());
            input.close();
            filein.close();
        } catch (Exception i) {
            System.out.println(i.toString());
        }
    }

字符流

public static void inputOutputReaderTest() throws Exception {
        FileReader fileIn = new FileReader("fds.txt");
        BufferedReader br = new BufferedReader(fileIn);
        FileWriter fileOut = new FileWriter("jj.txt");
        BufferedWriter bw = new BufferedWriter(fileOut);
        char[] data = new char[1024];
        int len;
        String temp;
        while ((temp = br.readLine()) != null) {
            System.out.println(temp);
            bw.write(temp, 0, temp.length());
            bw.newLine();
            bw.flush();
        }
        br.close();
        bw.close();
    }

打印流

public static void printStreamTest() throws Exception{
        PrintWriter pw = new PrintWriter("jj.txt");
        pw.println(90);
        pw.println("jjjj");
        pw.println(true);
        pw.println(true);
        pw.close();
    }

转换流

public static void changStreamTest() throws Exception{
        FileOutputStream fileOut = new FileOutputStream(new File("jjj.txt"));
        OutputStreamWriter out = new OutputStreamWriter(fileOut, "GBK");
        String data = "jfs中国加油";
        out.write(data, 0, data.length());
        out.close();

        FileInputStream fileIn = new FileInputStream("jjj.txt");
        InputStreamReader in = new InputStreamReader(fileIn, "GBK");
        char[] data1 = new char[1024];
        int len;
        while((len = in.read(data1, 0, 1024)) != -1){
            System.out.println(new String(data1, 0, len));
        }
        in.close();

    }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值