---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流!----------------------
<a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流!
文件复制的两种方法。这里主要讲解的是第一种该注意的地方。
注意,在用单个字符即取即存的时候,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培训、期待与您交流! ----------------------