
文件的拷贝需要通过输入流来读取文件中的数据,通过输出流将数据写入文件。
1、方法一(效率低):使用示例:
此方法实现的文件拷贝是一个字节一个字节的读写。import java.io.*;
public class copy_CSDN {
public static void main(String[] args) throws Exception{
InputStream in = new FileInputStream("E:\大二\下\JAVA\JAVA课程\111.txt");
OutputStream out = new FileOutputStream("E:\大二\下\JAVA\JAVA课程\222.txt");
int len;
while((len = in.read()) != -1){
out.write(len);
}
in.close();
out.close();
}
}
此方法需要频繁的 *** 作文件,效率非常的低。
2、方法二(效率高):使用示例:
此方法实现的文件拷贝是使用缓冲区拷贝文件import java.io.*;
public class copy_CSDN {
public static void main(String[] args) throws Exception{
// 使用缓冲区拷贝文件
InputStream in = new FileInputStream("E:\大二\下\JAVA\JAVA课程\111.txt");
OutputStream out = new FileOutputStream("E:\大二\下\JAVA\JAVA课程\222.txt");
byte[] buff = new byte[1024];//定义一个字节数组,用于缓冲区
int len;
while((len = in.read(buff))!= -1){
out.write(buff,0,len);//从第一个字节开始,向文件写入len个字节
}
in.close();
out.close();
}
}
由于使用缓冲区减少了对文件的 *** 作次数,所以可以提高读写数据的效率。
3、方法三(字节缓冲流)IO提供两个带缓冲的字节流,分别是BufferedInputStream和BufferedOutputStream
这两个流内部都定义了一个大小为8192的字节数组。
使用示例:
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class BufferedInputStream_CSDN {
public static void main(String[] args) throws Exception{
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("E:\大二\下\JAVA\JAVA课程\111.txt"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("E:\大二\下\JAVA\JAVA课程\222.txt"));
int len;
while((len = bis.read()) != -1){
bos.write(len);
}
bis.close();
bos.close();
}
}
本节内容为文件的拷贝,本节先到这里。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)