字节输入流:
package com.kaka.testio;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class IODemo1 {
//Scanner scanner=new Scanner(System.in);//System.in键盘录入,需要铺管道
public static void main(String[] args) {
//1.在文件和程序之间铺设管道
try {
//1.在文件和程序之间铺设管道
//以下两句等价于:FileInputStream file=new FileInputStream("E:\\2021.txt");
File file=new File("E:\\2021.txt");
FileInputStream f=new FileInputStream(file);//可查看构造函数
//2.”开水龙头“
int ch=f.read();//read()方法只能读一个字节
System.out.println("ch="+(char)ch);
//3."关水龙头"
f.close();
} catch (Exception e) {
System.out.println("文件找不到!");
}
}
}
字节输出流:
package com.kaka.testio;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.nio.charset.StandardCharsets;
public class IODemo2 {
public static void main(String[] args) {
try {
//1.创建“水厂”
String data="Hello world!";
//2.铺设程序到盘符文件的管道
FileOutputStream os=new FileOutputStream("E:\\2021.txt");//会覆盖文件内容,如果是FileOutputStream("E:\\2021.txt",true)则在结尾处写入
//3.打开水龙头
byte[] tempBytes=data.getBytes();
os.write(tempBytes);
//4.关闭管道
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
io流实现复制:
package com.kaka.testio;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class IODemo3 {
public static void main(String[] args) {
try {
FileInputStream file=new FileInputStream("E:\\2021.txt");
byte[] tempBytes = new byte[100];
file.read(tempBytes);
file.close();
FileOutputStream os=new FileOutputStream("E:\\2020.txt");
os.write(tempBytes);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
测速度:
long startTime=System.currentTimeMillis();//开始时间
FileInputStream file=new FileInputStream("E:\\2021.txt");
byte[] tempBytes = new byte[100];
file.read(tempBytes);
file.close();
FileOutputStream os=new FileOutputStream("E:\\2020.txt");
os.write(tempBytes);
os.close();
long endTime=System.currentTimeMillis();//结束时间
System.out.println("共耗时"+(endTime-startTime)+"毫秒");