java中fis和fos_Java中的输入与输出流详解

5)、引入缓冲刘读取文件

文件字节输入/输出流是以字节为单位进行读/写操作的,这使得文件流的效率很低,这是就需要用到BufferedInputStream和BufferdOutputStream类。当输入数据时,数据以块为单位读入缓冲区,伺候如有读操作,则直接访问缓冲区。当输出数据时,数据不直接向输出流输出数据,而是将数据先写入缓冲区,当缓冲区的数据满时,才将缓冲区中的数据写入输出流中。这样就提高了I/O操作的效率。

它们都是InputStream/OutputStream的子类,其构造方式如下:

BufferedInputStream(已创建好的输入数据流对象)

BufferedOutputStream(已创建好的输出数据流对象)

下面是一段演示缓冲流的代码:

public staticvoid main(String[] args) {

FileInputStream fis;

FileOutputStream fos;

BufferedInputStream bis;

BufferedOutputStream bos;

int i;

try {

fis = newFileInputStream("D:\\桌面\\桌面\\安卓开发工具\\学习笔记\\test1.txt");

fos = newFileOutputStream("D:\\桌面\\桌面\\安卓开发工具\\学习笔记\\test2.txt");

bis = new BufferedInputStream(fis);

bos = newBufferedOutputStream(fos);

//从输入数据流中读取一个字节

i = bis.read();

while (i != -1) {

bos.write(i);

bos.flush();

i = bis.read();

}

fis.close();

fos.close();

bis.close();

bos.close();

System.err.println("运行结束");

} catch (Exception e) {

e.printStackTrace();

}

    }0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java输入输出是用来处理数据的重要概念。输入用于读取数据,输出用于将数据写入目标位置。下面是有关Java输入输出的知识点和示例代码: 1. Java输入 Java输入用于从文件、网络连接、标准输入等位置读取数据。常用的输入有FileInputStream、BufferedInputStream和DataInputStream等。下面是一个基本的读取文件内容的示例代码: ``` try (FileInputStream fis = new FileInputStream("example.txt")) { int b; while ((b = fis.read()) != -1) { System.out.print((char) b); } } catch (IOException e) { e.printStackTrace(); } ``` 2. Java输出 Java输出用于将数据写入到文件、网络连接、标准输出等位置。常用的输出有FileOutputStream、BufferedOutputStream和DataOutputStream等。下面是一个将数据写入文件的示例代码: ``` try (FileOutputStream fos = new FileOutputStream("example.txt")) { String str = "Hello, World!"; byte[] bytes = str.getBytes(); fos.write(bytes); } catch (IOException e) { e.printStackTrace(); } ``` 3. Java缓冲输入输出 Java提供了缓冲输入输出来提高读写效率。缓冲输入输出可以在读写数据时缓存一定量的数据,以减少对底层输入输出的访问次数。常用的缓冲输入输出有BufferedInputStream和BufferedOutputStream等。下面是一个使用缓冲输入输出读写文件的示例代码: ``` try (FileInputStream fis = new FileInputStream("example.txt"); BufferedInputStream bis = new BufferedInputStream(fis); FileOutputStream fos = new FileOutputStream("example_copy.txt"); BufferedOutputStream bos = new BufferedOutputStream(fos)) { byte[] bytes = new byte[1024]; int len; while ((len = bis.read(bytes)) != -1) { bos.write(bytes, 0, len); } } catch (IOException e) { e.printStackTrace(); } ``` 以上就是Java输入输出的基本知识点和示例代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值