黑马程序员——java基础之文件复制
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流!----------------------
文件复制的两种方法。这里主要讲解的是第一种该注意的地方。
注意,在用单个字符即取即存的时候,ch=fr.read() ,ch就是等于读取到的字符的ASCII对应的整型数据。在写入的时候,fw.write(ch) 。write( int ch).传入的是整型,写入后,自动转成char型。而在使用数组的时候,len = fr.read(buf)),len则等于读取到的字符数组的长度,字符仍缓存在字符数组buf中。字符都是通过flush或者close刷入文件中的。
import java.io.*;
/*
文件复制原理:
将C盘文件下的数据存储到D盘的一个文件下
步骤:
1.在D盘下创建一个文件,来存储C盘文件中的数据
2.定义读取流和C盘文件关联
3.通过不断的读写完成数据存储
4.关闭数据流
*/
class CopyText
{
public static void main(String[] args) throws IOException
{
copy_1();
}
public static void copy_2()
{
FileWriter fw = null ;
FileReader fr = null ;
try
{
fw = new FileWriter("demo.txt");
fr = new FileReader("1.txt");
char[] ch = new char[1024];
int len = 0;
while ((len = fr.read(buf))!=-1)
{
fw.write(buf,0,len);
}
}
catch (IOException e)
{
throw new RuntimeException("读写失败");
}
finally
{
if(fr!=null)
try
{
fr.close();
}
catch (IOException e)
{
}
if(fw!=null)
try
{
fw.close();
}
catch (IOException e)
{
}
}
}
//从C盘读取一个字符,就往D盘写入一个字符
public static void copy_1() throws IOException
{
//创建目的地
FileWriter fw = new FileWriter("1.txt");
//与已有文件关联
FileReader fr = new FileReader("demo.txt");
int ch = 0;
while ((ch=fr.read())!=-1)
{
fw.write(ch);
System.out.println((char)ch);
}
System.out.println(ch);
fw.close();
fr.close();
}
}
---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------
不积跬步,无以至千里。

浙公网安备 33010602011771号