黑马程序员-IO流复制指定文件中的内容

---------------------- android培训java培训、期待与您交流! ----------------------

 

 

黑马程序员-IO流复制指定文件中的内容

 

 

 

 

 

 

 

/*

IO复制一个文本文件

将E盘的一个文本文件数据存储到d盘的一个文件中。

复制的原理:

其实就是将c盘下的一个文件数据存储到d盘的一个文件中。

步骤:

1.在d盘创建一个 文件,用于存储c盘文件中的数据。

2.定义读取流和c盘文件关联。

3.通过不断的读写完成数据的存储。

4.关闭资源。

*/

import java.io.*;

class CopyTest

{

public static void main(String[] args)

{

copy_1();

copy_2();

}

/*

使用读取方式中的第一种方式,一次只读一个字符,然后写入一个字符,依次循环执行,完成复制动作。

*/

public static void copy_1()

{

FileWriter fw=null;

FileReader fr=null;

try

{

//创建一个流对象,定义目的地

fw=new FileWriter("D://2.txt");

//创建一个流对象,与源文件项关联

fr=new FileReader("E://1.txt");

int ch=0;

//Reader()读一个字符返回一个字符

while((ch=fr.read())!=-1)

{

fw.write(ch);

}

}

catch(IOException e)

{

throw new RuntimeException("复制失败");

}

finally

{

if(fr !=null)

try

{

fr.close();

}

catch(IOException e)

{

throw new RuntimeException("关闭失败");

}

if(fw !=null)

try

{

fw.close();

}

catch(IOException e)

{

throw new RuntimeException("关闭失败");

}

}

 

}

/*

使用第二种方式,把读取到的字符存储到数组中,再通过write方法写入到目标文件中

这种方法更高效一些。

*/

public static void copy_2()

{

FileWriter fw=null;

FileReader fr=null;

try

{

//创建一个流对象,定义目的地

fw=new FileWriter("D://3.txt");

//创建一个流对象,与源文件项关联

fr=new FileReader("E://1.txt");

char[] buf=new char[1024];

int len=0;

//read(char[])返回的是读到的数组元素个数。

while((len=fr.read(buf))!=-1)

{

//写入数组中0角标到最后角标的元素。

fw.write(buf,0,len);

}

}

catch(IOException e)

{

throw new RuntimeException("复制失败");

}

finally

{

if(fr !=null)

try

{

fr.close();

}

catch(IOException e)

{

throw new RuntimeException("关闭失败");

}

if(fw !=null)

try

{

fw.close();

}

catch(IOException e)

{

throw new RuntimeException("关闭失败");

}

}

 

 

}

}

 

 

---------------------- android培训java培训、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值