文件的复制
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Co {
static final String INPUT="d:/student.txt"; //定义输入文件路径
static final String OUTPUT="d:/stunew.txt"; //定义输出文件路径
public static void main(String[] args) throws FileNotFoundException{
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); //将读入的字符串信息写入RandomAccessFile对象rdin
System.out.println("开始复制文件"+INPUT);
do{ //将对象fisIn中的内容写入对象fosOut,即实现文件内容复制的功能,到文件结尾iResult=-1为止
iResult=fisIn.read();
if(iResult!=-1){
fosOut.write(iResult);
System.out.println("...\n");
}
}
while(iResult!=-1);
System.out.println(INPUT+"已成功复制到"+OUTPUT);
fisIn.close(); //关闭对象fisIn和对象fosOut
fosOut.close();
}
catch(IOException e){
e.printStackTrace();
}
}
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;
public class Co {
static final String INPUT="d:/student.txt"; //定义输入文件路径
static final String OUTPUT="d:/stunew.txt"; //定义输出文件路径
public static void main(String[] args) throws FileNotFoundException{
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); //将读入的字符串信息写入RandomAccessFile对象rdin
System.out.println("开始复制文件"+INPUT);
do{ //将对象fisIn中的内容写入对象fosOut,即实现文件内容复制的功能,到文件结尾iResult=-1为止
iResult=fisIn.read();
if(iResult!=-1){
fosOut.write(iResult);
System.out.println("...\n");
}
}
while(iResult!=-1);
System.out.println(INPUT+"已成功复制到"+OUTPUT);
fisIn.close(); //关闭对象fisIn和对象fosOut
fosOut.close();
}
catch(IOException e){
e.printStackTrace();
}
}
}
知识点:1、字节流:分为输入流和输出流
2、Input Stream()类:字节流抽象类
3、Output Stream()类:字节流抽象类
4、File Input Stream()类:将文件中的数据读入程序,或者将程序外部的数据传入程序
5、File Output Stream()类:将程序内部的数据输出到程序外部的数据源
心得体会:java中的流分为字节流和字符流,分别由Input
Stream、Output Stream、Reader、Writer、4个抽象类表示。字节流用于处理字节的输入和输出,以及二进制数据的读或写等,则可以实现文件的复制