字节流

字节流:

  输入和输出:1.参照物都是java程序来惨遭

        2.Input输入,持久化上的数据----》内存

        3.Output输出,内存---》硬盘

  字节输出流:

    OutputStream:

      定义:流按照方向可以分为输入和输出流,字节流可以操作任何数据,字符流只能操作纯字符数据。

      IO流父类:OutputStream和InputStream

  IO流程序书写步骤:

       1.先导包

       2.进行异常处理

       3.释放资源

  方法:

      1.void close();

      2.Write(byte[ ]   b);Write(byte[ ],int off,int len );

    代码:

复制代码
public class FileOutputStreamDemo {
    public static void main(String[] args) throws IOException {
    //步骤1创建流 子类对象  绑定数据目的
           FileOutputStream fos=  new FileOutputStream("c:\\aaa.txt");
     //2 调用write() 方法  写一个字节
           fos.write(97);
        //2.1  写字节数组
           byte[] b={65,66,67,68};
           fos.write(b);
         // 2.2 写字节数组的一部分
           fos.write(b, 1, 2);
         //2.3写字符串   getBytes()  字符串转字节
           fos.write("hello world".getBytes());
    // 3 close 关闭资源
           fos.close();
    }
}
复制代码

  FileOutputStream(文件输出流):

    文件的续写和换行符号:

复制代码
  /*  \r\n换行  */
public static void main(String[] args) throws IOException {
    File file = new File("c:\\b.txt");
    FileOutputStream fos = new FileOutputStream(file,true);
    fos.write("hello\r\n".getBytes());
    fos.write("world".getBytes());
    fos.close();
}
复制代码

  字节输入流:

    InputStream: abstract int  read();读取下一个字节,返回-1读取文件结束。

    方法:read(byte[ ] b);close();

      代码;

复制代码
public class FileInputStreamDemo {
    public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("c:\\aaa.txt");
            int len =0;
            while((len=fis.read())!=-1){
                System.out.print((char)len);
            }
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}  
复制代码

      字节数组读取:


复制代码
public static void main(String[] args) {
        try {
            FileInputStream fis = new FileInputStream("c:\\aaa.txt");
            //创建字节数组
            byte[] b = new byte[1024];
            int len=0;
            while((len=fis.read(b))!=-1){
             //字节数组转字符串
                System.out.println(new String(b,0,len));
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
复制代码
 
原文地址:https://www.cnblogs.com/cuichaobo/p/10681308.html