package com.hspedu.io_; import org.junit.Test; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; public class TestCopyFile { @Test public void copyFile() throws IOException { String sourceFilePath = "E:\\JavaIO\\CopyFile\\test.txt"; FileInputStream fileInputStream = new FileInputStream(sourceFilePath); int readData = 0; String destFilePath = "e:\\JavaIO\\CopyFile\\copy.txt"; FileOutputStream fileOutputStream = new FileOutputStream(destFilePath); while ((readData = fileInputStream.read()) != -1) { System.out.print((char) readData); fileOutputStream.write(readData); } fileInputStream.close(); fileOutputStream.close(); } @Test public void copyPicture() throws IOException { String sourcePicturePath = "e:\\JavaIO\\CopyFile\\123.webp"; FileInputStream fileInputStream = new FileInputStream(sourcePicturePath); String destPicturePath = "e:\\JavaIO\\CopyFile\\copy.webp"; FileOutputStream fileOutputStream = new FileOutputStream(destPicturePath); int readData = 0; byte[] bytes = new byte[1024]; while ((readData = fileInputStream.read(bytes)) != -1) { System.out.println("readData: " + readData); fileOutputStream.write(bytes, 0, readData); } if (fileInputStream != null) { fileInputStream.close(); } if (fileOutputStream != null) { fileOutputStream.close(); } } }
文件拷贝:1.先用字节输入流读取文件;2.再用字节输出流保存文件;3.图片、视频、音频等二进制文件用字节流,文本用字符流。