美文网首页
Java的IO操作

Java的IO操作

作者: 老街寻迹 | 来源:发表于2020-04-11 15:25 被阅读0次

Java的IO操作分为磁盘IO和内存流IO。

1、磁盘IO:FileInputStream和FileOutputStream

File file = new File("D:\\temp\\test.docx");

if (file.exists()) {

    // 文件输入流

    FileInputStream in = new FileInputStream(file);

    // 文件输出流

    FileOutputStream out = new FileOutputStream("D:\\temp\\testNew.docx");

    byte[] bytes = new byte[1024];

    int len =0;

    while ((len = in.read(bytes)) >0) {

        // 这里必须是0到len,否则可能会有文件损坏的问题

        out.write(bytes, 0, len);

    }

    // 磁盘IO需要关闭流 

    in.close();

    out.close();

}

2、内存流IO:ByteArrayInputStream和ByteArrayOutputStream

// 数据源

String str ="abc";

byte[] testByte = str.getBytes();

// 输入流

ByteArrayInputStream in = new ByteArrayInputStream(testByte);

// 输出流

ByteArrayOutputStream out = new ByteArrayOutputStream();

int ch =0;

while ((ch = in.read()) != -1) {

    out.write(ch);

}

// 内存流不需要关闭IO,不用后Java的垃圾回收机制会将它回收,而且其close()方法体为空,就算调用了close()也是什么事都不会做。

3、byte数组和上面互转

(1)FileInputStream转为byte[]

FileInputStreamin =new FileInputStream(file);

if (in.available() !=0) {

byte[] bytes =new byte[in.available()];

    in.read(bytes);

}

(2)ByteArrayInputStream转为byte[]

(3)byte[]转为FileInputStream

(4)byte[]转为ByteArrayInputStream 

byte[] byt =new byte[1024];

ByteArrayInputStream input =new ByteArrayInputStream(byt);

相关文章

  • Java常用包的主要作用

    java.io io流相关操作java.nio 新io操作java.lang 核心功能包,线程,System,基本...

  • Java IO介绍

    Java IO介绍 Java IO主要是指的是java.io和java.nio两个包下提供的对IO操作的功能(由于...

  • Java IO 第1篇:带你认识 File 类

    带你认识 File 类 一、初识 Java IO Java IO 操作主要指的是使用Java进行输入、输出操作,J...

  • 2.1.3 NIO非阻塞网络编程三大理念

    Java NIO 始于Java 1.4,提供了新的Java IO操作非阻塞APi。 用意是替代Java IO 和 ...

  • java IO 流

    1.什么是java IO?通过java一些列文件操作的API,对文件进行读取,写入等操作。即为java IO;这里...

  • Java - NIO网络编程

    JAVA NIO 始于Java1.4, 提供了新的Java IO 操作非阻塞API。目的是替代Java IO 和 ...

  • Java的IO操作

    Java的IO操作分为磁盘IO和内存流IO。 1、磁盘IO:FileInputStream和FileOutputS...

  • Java IO 操作

    IO操作 Java对数据的操作都是通过流的方式,IO流用来处理设备之间的数据传输,文件上传和文件下载,Java用于...

  • Java基础笔记总结(13)-IO流(1)FileInputSt

    IO流 IO流通常用来处理设备之间的数据传输 Java对数据的操作是通过流的形式 Java用于操作的流的类都在IO...

  • day18-06-IO流(概述)/07day18-07-IO流(

    IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式 、Java用于操作流的对象都在IO包中流按操作...

网友评论

      本文标题:Java的IO操作

      本文链接:https://www.haomeiwen.com/subject/njwymhtx.html