1. Introdução ao fluxo IO 1. A definição
fluxo IO refere-se a uma sequência de sequências de fluxo, que é um canal para o envio de informações na forma first-in first-out; por meio do fluxo IO, os arquivos no disco rígido podem ser manipulados.
2. Classificação
De acordo com a direção do fluxo, o fluxo IO pode ser dividido em fluxo de entrada e fluxo de saída; de
acordo com a unidade de processamento de dados, o fluxo IO pode ser dividido em fluxo de bytes e fluxo de caracteres;
a classe base do fluxo de entrada de bytes é FileInputStream; o
fluxo de saída de bytes A classe base é FileOutputStream; a classe base de
fluxos de entrada de caracteres é Reader; a classe base de
fluxos de saída de caracteres é Writer.
2. Realize a leitura e a cópia do arquivo por meio do fluxo de bytes O
exemplo realiza a cópia de D: //filecopy/oldfile.txt para o código D: //oldfile.txt
(1)
import java.io.*;
/**
* @author ThinkPad
* @date 2020/5/25 19:16
*/
public class test1 {
public static void main(String[] args){
//字节输入输出流
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("D://filecopy/oldfile.txt");
fos = new FileOutputStream("D://oldfile.txt");
//io读数据的时候,数据存的位置(相当于传输数据的管子)
byte bs[] = new byte[1024];
int i = 0;
//read()方法返回的int类型,是表示数据下一个字节的字节码,如果已经到达流的最后面了,那就返回-1
while(i!=-1){
//read()的内容就写入新的文件
fos.write(bs,0,i);
i= fis.read(bs);
}
System.out.println("数据复制完成");
}
catch(Exception e){
e.printStackTrace();
}
finally{
try {
fos.close();
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
(2) O ponto de conhecimento
bs [] é usado para ler o arquivo original e colocá-lo no espaço de armazenamento do novo arquivo, que pode ser entendido como a tubulação de água quando a água é descarregada;
o tipo int retornado pela leitura ( ) método em FileInputStream representa os dados Um byte de bytecode, se ele atingiu o final do fluxo, ele retorna -1.
(3) Resultados de execução