Java教程

Java的字节流

本文主要是介绍Java的字节流,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Java的字节流

字节输入流

package com.cnblogs;

import java.io.*;

/*
本类用于测试字节流的读取
 */
public class TestIn {
    public static void main(String[] args) {
//        method();//普通读取
        method2();//高效

    }

    private static void method() {
        InputStream in = null;
        try {
//            InputStream in2 = new FileInputStream(new File("E:\\ready\\1.txt"));
            in = new FileInputStream("E:\\ready\\1.txt");
            /*
            一次读取一个字节,如果没有数据了,返回-1
             */
//            System.out.println(in.read());//97
//            System.out.println(in.read());//98
//            System.out.println(in.read());//99
//            System.out.println(in.read());//-1
//            System.out.println(in.read());//-1
            int result = 0;
            while ((result = in.read()) != -1){
                System.out.println(result);
            }
        } catch (Exception e) {
            e.printStackTrace();
            /*
            finally代码块是try-catch结构中一定会执行到的部分,
            常用于关流操作,为防止因发生异常没有正确关流,不能写在try{}
            当中,这点需要注意
             */
        }finally {
            try {
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    private static void method2() {
        BufferedInputStream in1 = null;
        try {
            in1 = new BufferedInputStream(new FileInputStream("E:\\ready\\1.txt"));
            int result = 0;
            while((result = in1.read()) != -1){
                System.out.println(result);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                in1.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

字节输出流

package com.cnblogs;

import java.io.*;

/*
本类用于测试字节输出流
 */
public class TestOut {
    public static void main(String[] args) {
//        method();
        method2();
    }

    private static void method() {
        OutputStream out = null;
        try {
            out = new FileOutputStream("E:\\ready\\1.txt",true);
            out.write(98);
            out.write(99);
            out.write(100);
            /*
            还可以使用两个参数的构造方法,来控制输出的数据是覆盖还剩追加,
            默认为false,覆盖
            如果为追加,第二个参数为true
             */
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                out.close();//关流后没法写入了
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

    private static void method2() {
        OutputStream out = null;
        try {
            out =new BufferedOutputStream(new FileOutputStream("E:\\ready\\1.txt",true)) ;
            out.write(101);
            out.write(102);
            out.write(103);
            out.write(104);
            out.write(105);
            /*
            还可以使用两个参数的构造方法,来控制输出的数据是覆盖还剩追加,
            默认为false,覆盖
            如果为追加,第二个参数为true
             */
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                out.close();//关流后没法写入了
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}

这篇关于Java的字节流的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!