Java IO流(二)

I/O 工作原理

磁盘I/O

tips: DMA:全称叫直接内存存取(Direct Memory Access),是一种允许外围设备(硬件子系统)直接访问系统主内存的机制。基于 DMA 访问方式,系统主内存与硬件设备的数据传输可以省去CPU 的全程调度

特点

  • 读写操作基于系统调用实现

  • 读写操作经过用户缓冲区,内核缓冲区,应用进程并不能直接操作磁盘

  • 应用进程读操作时需阻塞直到读取到数据

网络I/O

特点

  • 网络I/O读写操作经过用户缓冲区,Sokcet缓冲区

  • 服务端线程在从调用recvfrom开始到它返回有数据报准备好这段时间是阻塞的,recvfrom返回成功后,线程开始处理数据报

字节流

        在上一篇中,我们一直都是在操作文件或者文件夹,并没有给文件中写任何数据。现在我们就要开始给文件中写数据,或者读取文件中的数据

字节输出流OutputStream

        OutputStream此抽象类,是表示输出字节流的所有类的超类。操作的数据都是字节,定义了输出字节流的基本共性功能方法 输出流中定义都是写write方法

FileOutputStream类

OutputStream有很多子类,其中子类FileOutputStream可用来写入数据到文件 FileOutputStream类,即文件输出流,是用于将数据写入 File 的输出流

将数据写到文件中

/**
 * 将数据写到文件中
 */
public static void test1() throws IOException {
    // 创建存储数据的文件
    File file = new File("e:\\file.txt");
    // 创建一个用于操作文件的字节输出流对象。一创建就必须明确数据存储目的地。
    // 输出流目的是文件,会自动创建。如果文件存在,则覆盖。
    FileOutputStream fos = new FileOutputStream(file);
    // 写入数据
    byte[] data = "abcd
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值