自学内容网 自学内容网

学习总结!

IO流概述:
 

1.IO:输入(Input读取数据)/输出(Output写数据)

2.流:是一种抽象概念,是对的总称,也就是说数据在设备间的传输称为流,流的本质是数据传输,IO流就是用来处理设备间数据传输问题的。

3.常见的应用:文件上传、下载、复制等。

根据数据流向分类:  

输入流:读数据  将硬盘中的数据读取到内存中  

输出流:写数据  将程序中的数据写入到硬盘中

 

按照数据类型来分:

字节流: 字节输入流/字节输出流  

字符流: 字符输入流/字符输出流

FileInputStream(文件字节输入流) 

FileInputStream:从文件系统中的文件获取输入字节;

FileInputStream(String name):通过打开与实际文件的连接来创建一个FileInputStream,该文件有文件系统中的路径名name命名;

步骤:

1.创建字节输入流对象

2.调用字节输入流对象的读数据方法

3.释放资源

InputStream in = new FileInputStream("d:/a.txt");
 
int c = 0;
while((c = in.read()) != -1){
    System.out.println(c);
}
 
in.close();

 上述代码在执行时:如果在执行in.read()时没有读取到末尾,即文件还有可读取的数据,in.read()方法会返回下一个可用字节的整数值(0-255之间)。如果已经读取到了文件末尾,in.read()方法会返回-1。

FileOutputStream(文件字节输出流) 

void write(byte[] b, int off, int len)是Java中OutputStream类的一个方法,用于将指定字节数组中的一部分数据写入输出流。 

  • b:要写入的字节数组。
  • off:写入的起始偏移量,即从数组的第off个位置开始写入数据。
  • len:要写入的字节数,即写入b数组中从off位置开始的连续len个字节。

如何追加写入数据:

字节流写入数据通过 new FileOutputStream(new File("mayikt.txt"), true); 表示追加写入数据。 如果第二个参数为true,则字节流写入文件的末尾。此方法通过在构造FileOutputStream对象时将第二个参数设置为true来实现追加写入。

InputStream in = new FileInputStream("d:/a.txt");
OutputStream out = new FileOutputStream("d:/aa.txt");
 
int c = 0;
while((c = in.read()) != -1){
    out.write(c);
}
 
in.close();
out.close();

一次读取1024个byte,一个kb: 

import java.io.*;
 
public class Demo03 {
    public static void main(String[] args) throws IOException {
        InputStream is = new FileInputStream("d:/apache-tomcat-8.5.75.zip");
        OutputStream os = new FileOutputStream("d:/tomcat.zip",true);//append:true 追加
        byte[] b = new byte[1024];
        int len = 0;
 
        while ( (len = is.read(b)) != -1 ){
            os.write(b,0,len);
        }
 
        //关闭IO流管道 关闭的时候会有刷新作用
        is.close();
        os.close();
    }
}


原文地址:https://blog.csdn.net/2301_80397399/article/details/137649391

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!