1.创建文件夹及文件,进行复制文件(一次读一个数组,提高效率)
public class FileTest04 {
public static void main(String[] args) throws IOException {
File file = new File("d:\\66\\88\\66.txt");
File parentFile = file.getParentFile();
System.out.println("parentFile = " + parentFile); //parentFile = d:\66\88
parentFile.mkdirs(); //先创建文件夹
file.createNewFile(); //再创建文件(有本文件夹及文件时,就不需要再次创建)
FileInputStream fileInputStream = new FileInputStream("d:\\66\\88\\66.txt");
FileOutputStream fileOutputStream = new FileOutputStream("d:\\66\\88\\88.txt", false); //, false可省略,这个代表是否追加写(默认不追加写)
byte[] bytes = new byte[1024]; // 定义数组,一次读一个数组(效率高一点)
int len = 0;
while ((len = fileInputStream.read(bytes)) != -1){
fileOutputStream.write(bytes, 0, len);
}
fileInputStream.close();
fileOutputStream.close();
}
}
2.创建文件夹及文件,进行复制文件(一次读一个字节)
public class FileTest05 {
public static void main(String[] args) throws IOException {
File file = new File("d:\\66\\88\\66.txt");
File parentFile = file.getParentFile();
System.out.println("parentFile = " + parentFile); //parentFile = d:\66\88
parentFile.mkdirs(); //先创建文件夹
file.createNewFile(); //再创建文件(有本文件夹及文件时,就不需要再次创建)
FileInputStream fileInputStream = new FileInputStream("d:\\66\\88\\66.txt");
FileOutputStream fileOutputStream = new FileOutputStream("d:\\66\\88\\88.txt");
int len = 0;
while ((len = fileInputStream.read()) != -1){
fileOutputStream.write(len);
}
fileInputStream.close();
fileOutputStream.close();
}
}
2.创建文件夹及文件,进行复制文件。利用字节缓冲流进行提高效率。(用于大文件)
public class Test06 {
public static void main(String[] args) throws IOException {
// 传参要是对应的流,缓冲流底层默认一次8192数组
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream("day11/a-c.txt"));
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream("day12/a.txt"));
byte[] bys = new byte[1024];
int len;
while ((len=bis.read(bys))!=-1){
bos.write(bys,0,len);
bos.flush();
}
bis.close();
bos.close();
}
}