java基础之IO流中的字节流

目录

一:字节流写数据

二:字节流写数据的方式

三:字节流写数据实例

字节流写数据步骤

字节流写数据例子

 字节流追加写数据

 四:字节流读取数据

五:字节读取数据的方法

六:字节流读取数据实例

字节流读取数据步骤

字节流读取数据实例


一:字节流写数据

OutputStream (由于OutputStream 是抽象类不能实例化所以用他的子类FileOutputStream)

FileOutputStream的构造方法

FileOutputStream(File file)

FileOutputStream(String name)

二:字节流写数据的方式

public void write(int b)//向指定字节输出流中写入一个字节

public void write(byte[] b)//向指定字节输出流中写入字节数组

public void write(byte[] b,int off,int len)向指定字节输出流中写入指定字节数组的内容

三:字节流写数据实例

字节流写数据步骤

1:创建字节输出流

2:利用写数据方法写数据

3:关闭资源(close())

字节流写数据例子

 public static void main(String[] args) throws Exception{//为了观看方便就直接抛出大的异常
        //创建字节输出流对象指定位置
        FileOutputStream fo = new FileOutputStream("D:\\test\\a.txt");
        //写数据写入一个一个字节写入
        fo.write(98);
        fo.write(99);
        fo.write('a');
        //关闭资源
        fo.close();
    }
}

结果是D:\\test中找a.txt文件写入如果没有就新建一个a.txt文件

内容是:bca

   public static void main(String[] args) throws Exception{
        //创建字节输出流对象指定位置
        FileOutputStream fo = new FileOutputStream(new File("D:\\test\\b.txt" ));
        //写数据写入字节数组一个字节数组写入
        byte[] b = {99,58,63,20,52,14,85,96};
        fo.write(b);
        //关闭资源
        fo.close();
    }

 结果是:c:?4U`

public static void main(String[] args) throws Exception{
        //创建字节输出流对象指定位置
        FileOutputStream fo = new FileOutputStream(new File("D:\\test\\b.txt" ));
        //写数据写入字节数组一个字节数组一部分写入
        byte[] b = {99,96,99,97,100,96};
        fo.write(b,0,4);//从组索引为0到索引为3写入
        //关闭资源
        fo.close();
    }

 结果是覆盖了之前b中内容:c`ca

 字节流追加写数据

FileOutputStream(String name, boolean append) 
创建文件输出流以指定的名称追加写入文件。 

public static void main(String[] args) throws Exception{
        //创建字节流对象,指定为追加
        FileOutputStream fo = new FileOutputStream("D:\\test\\a.txt", true);
        //写一个字节数组数据到文件流中
        byte[] bytes = "hello world".getBytes();
        fo.write(bytes);
        //关闭输出流
        fo.close();
    }

结果是a中变为了:bcahello world

 四:字节流读取数据

InputStream(由于IutputStream 是抽象类不能实例化所以用他的子类FileIutputStream)

把刚才写的数据读取出来显示在控制台

FileInputStream的构造方法

FileInputStream(File file)

FileInputStream(String name)

五:字节读取数据的方法

public int read()一次读取一个字节

public int read(byte[] b)一次读取一个字节数组

六;字节流读取数据实例

字节流读取数据步骤

1、创建FileInputStream对象

2、调用read方法读取数据,输出到控制台

3、释放资源

字节流读取数据实例

 public static void main(String[] args) throws Exception{
        //创建输入流数据
        FileInputStream fi = new FileInputStream("D:\\test\\a.txt");
        //读取数据
        int b = 0;
        while((b=fi.read())!=-1){
            System.out.print(b+",");
        }
        //关闭资源
        fi.close();
    }
}

98,99,97,104,101,108,108,111,32,119,111,114,108,100,
Process finished with exit code 0
 

  public static void main(String[] args) throws Exception{
        //创建输入流数据
        FileInputStream fi = new FileInputStream("D:\\test\\a.txt");
        //读取数据
        byte[] b = new byte[1024];
        int length =0;
        while((length=fi.read(b))!=-1){
            String s = new String(b, 0, b.length);
            System.out.println(s);
        }
        //关闭资源
        fi.close();
    }

 bcahello world                                                                                                                                                                                                                                                                              Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/weixin_50691399/article/details/121068594