1. Introducción al flujo de E / S 1. Definición El
flujo de E / S se refiere a una cadena de cadenas fluidas, que es un canal para enviar información de una manera primero en entrar, primero en salir; a través del flujo de E / S, se pueden manipular archivos en el disco duro.
2. Clasificación
De acuerdo con la dirección del flujo, el flujo de IO se puede dividir en flujo de entrada y flujo de salida;
según la unidad de procesamiento de datos, el flujo de IO se puede dividir en flujo de bytes y flujo de caracteres;
la clase base del flujo de entrada de bytes es FileInputStream; el
flujo de salida de bytes La clase base es FileOutputStream; la clase base de
los flujos de entrada de caracteres es Reader; la clase base de
los flujos de salida de caracteres es Writer.
2. Realice la lectura y copia de archivos a través del flujo de bytes El
ejemplo se da cuenta de la copia de D: //filecopy/oldfile.txt a D: //oldfile.txt
(1) Código
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) El punto de conocimiento
bs [] se utiliza para leer el archivo original y colocarlo en el espacio de almacenamiento del nuevo archivo, que puede entenderse como la tubería de agua cuando se descarga el agua;
el tipo int devuelto por la lectura ( ) en FileInputStream representa los datos Un byte de código de bytes, si ha llegado al final de la secuencia, devuelve -1.
(3) Resultados de ejecución