程序代码:
package homework10.homework1011;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
/**
* 1、使用文件流复制myfile.txt文件为myfile_cp.txt
* @author Administrator
*
*/
public class Demo001 {
public static void main(String[] args) {
Scanner scan;
/**
* 以下是创建文件的过程
*/
File file = new File("myfile.txt");
File copy = new File("myfile_cp.txt");
if(!file.exists()){//如果该文件不存在,则创建该文件
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
if(!copy.exists()){//如果该文件不存在,则创建该文件
try {
copy.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
try (/*此括号之内相关的输入输出流程序执行完之后会自动关闭*/
FileOutputStream fos = new FileOutputStream(file);
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos0 = new FileOutputStream(copy);
){
scan = new Scanner(System.in);
System.out.println("请从键盘输入内容到文件中:");
String str = scan.next();
fos.write(str.getBytes());
System.out.println("文件内容写入完毕!!!");
int index = -1;
/**
* 建一个字节数组bytes来装载从文件里面读的内容
* 通过原文件包装的字节流一次性读取,返回字节量的大小(int)
* 再从0开始写内容到复制的文件中,直到最大字节量,写完则返回-1
*/
byte[] bytes = new byte[2048];
while((index = fis.read(bytes))!=-1){
fos0.write(bytes,0,index);
}
System.out.println("复制文件内容完成!!!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
代码运行结果:
①从键盘输入文件内容:
②成功把内容写入到原文件中:
③成功复制内容到另外一个文件中: