---------------------- android培训、java培训、期待与您交流! --------------------
//要求:把指定文件夹下的11111.txt复制一份,内容贴到新建的22.txt文件中
import java.io.*;
class CopyTest
{
public static void main(String[] a)throws IOException
{
copy1();//方式一,一个个字符复制
copy2();//方式二,全部字符放到字符数组里复制过去
}
public static void copy1()throws IOException
{
FileReader r=new FileReader("D:\\javafile\\day18\\src\\11111.txt");//源文件
FileWriter w=new FileWriter("D:\\javafile\\day18\\src\\22.txt");//新建文件
int c=0;//c是用来记录读取的字符的编码值
while((c=r.read())!=-1)//编码值不等于-1就表示有数据可读
w.write(c);//把缓冲区的字符写在新文件中
r.close();//复制完毕必须关闭这两个资源
w.close();
}
public static void copy2()
{
FileReader r=null; //先定义好一个读的流和一个写的流
FileWriter w=null;
try
{
int length=0;//一趟读入几个字符
char[] c=new char[1024];//c装的是读取的字符数组
r=new FileReader("D:\\javafile\\day18\\src\\11111.txt");//读的流关联到源文件
w=new FileWriter("D:\\javafile\\day18\\src\\22.txt");//写的流关联到新建文件
while((length=r.read(c))!=-1)//读入的数组里字符个数不为-1就表示读到东西了
w.write(c,0,length);//把缓冲区的数组写入目标文件,从位置0开始写,所写长度是读到的字符数
r.close();//复制工作结束,关闭两个资源
w.close();
}
catch(IOException e)//如果前面发生异常,比如源文件不存在
{
throw new RuntimeException("流异常");//抛运行时异常
}
finally //不论有无异常都要做的
{
if(r!=null)//如果读取源文件的流有指向,就要关闭此流
try
{
r.close();
}
catch(IOException e)
{
throw new RuntimeException("流异常");
}
if(w!=null)//如果写入目标文件的流有指向,就要关闭此流
try
{
w.close();
}
catch(IOException e)
{
throw new RuntimeException("流异常");
}
}
}
}
---------------------- ASP.Net+Android+IOS开发、 .Net培训、期待与您交流! ----------------------