package kk;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class CopyFile {
static final String INPUT="d:/student.txt"; //定义输入文件路径
static final String OUTPUT="d:/student.txt"; //定义输出文件路径
public static void main(String[] args)throws FileNotFoundException {
// TODO 自动生成的方法存根
int iResult;
String str;
RandomAccessFile rdin=new RandomAccessFile(INPUT,"rw"); //创建具有读、写功能的RandomAccessFile对象rdin
FileInputStream fisIn=new FileInputStream(INPUT); //创建文件读入流对象fisIn
FileOutputStream fosOut=new FileOutputStream(OUTPUT);//创建文件写出流对象fosOut
try{
System.out.println("添加文件内容:");
Scanner sc=new Scanner(System.in);
str=sc.next();
rdin.writeBytes(str);
System.out.println("开始复制文件"+INPUT);//从键盘读入信息
do{
iResult=fisIn.read();
if(iResult!=-1)
{
fosOut.write(iResult);
System.out.println("...\n");//将读入的字符串信息写入RandomAccessFile对象rdin
}
}while(iResult!=-1); //将对象fisIN中的内容写入对象fosOut,即实现文件内容复制的功能,到文件结尾iResult=-1为止
System.out.println(INPUT+"已成功复制到"+OUTPUT);
fisIn.close();
fosOut.close();//关闭对象fisIn和对象fosOut
}
catch (IOException e){
e.printStackTrace();
}
}
}
运行结果:
知识点:
该程序将d盘student.txt文档中的内容复制到stunew.txt文档中。首先从键盘获取要输入内容,并将这些内容写入文档sutdent.txt,然后从student.txt文档中读取内容(直到文档最后iRresult=-1),并将文档依次写入文档student.txt,从而实现文档复制,最后将两个文档关闭。