黑马程序员-学习笔记2-IO流之文件复制

来源:互联网 发布:ros绑定mac 编辑:程序博客网 时间:2024/05/29 08:33
                             ------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


                                                                                              类FileReader
用来读取字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是适当的。要自己指定这些值,可以先在 FileInputStream 上构造一个 InputStreamReader。
类FileReader的构造方法:
FileReader(File file) 在给定从中读取数据的 File 的情况下创建一个新 FileReader。
FileReader(FileDescriptor fd) 在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。
FileReader(String fileName) 在给定从中读取数据的文件名的情况下创建一个新 FileReader。
类FileReader的主要方法有: 
从类 java.io.InputStreamReader 继承的方法 
close, getEncoding, read, read, ready 
从类 java.io.Reader 继承的方法 
mark, markSupported, read, read, reset, skip 
从类 java.lang.Object 继承的方法 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 。

                                                                                             类FileWriter
用来写入字符文件的便捷类。此类的构造方法假定默认字符编码和默认字节缓冲区大小都是可接受的。要自己指定这些值,可以先在 FileOutputStream 上构造一个 OutputStreamWriter。文件是否可用或是否可以被创建取决于底层平台。特别是某些平台一次只允许一个 FileWriter(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。 
类FileWriter 的构造方法有:
FileWriter(File file) 
根据给定的 File 对象构造一个 FileWriter 对象。 
FileWriter(File file, boolean append) 
根据给定的 File 对象构造一个 FileWriter 对象。 
FileWriter(FileDescriptor fd) 
构造与某个文件描述符相关联的 FileWriter 对象。 
FileWriter(String fileName) 
根据给定的文件名构造一个 FileWriter 对象。 
FileWriter(String fileName, boolean append) 
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。 
类FileWriter的主要方法有:
从类 java.io.OutputStreamWriter 继承的方法 
close, flush, getEncoding, write, write, write 
从类 java.io.Writer 继承的方法 
append, append, append, write, write 
从类 java.lang.Object 继承的方法 
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait。

文件复制的基本思路:用FileReader.read()把文件demo.txt的数据读进字符数组buf里面,再用FileWriter.write()把buff里的数据写进文件copydemo.txt里面。

[java] view plain copy
  1. package com.itheima.bbs.blog_1;  
  2. import java.io.*;  
  3. public class blog_1 {  
  4. /** 
  5. * @param args 
  6. */  
  7. public static void main(String[] args) {  
  8. // TODO Auto-generated method stub  
  9. copy();  
  10. }  
  11.   
  12. public static void copy(){  
  13.   
  14. int len=0;  
  15. char[] buf=new char[1024];  
  16. FileReader fr=null;  
  17.   
  18. FileWriter fw=null;  
  19. try{  
  20. fr=new FileReader("F:\\demo.txt");  
  21. fw=new FileWriter("F:\\copydemo.txt");  
  22. while((len=fr.read(buf))!=-1){  
  23. fw.write(buf,0,len);  
  24. }  
  25. }  
  26. catch(IOException e){  
  27. throw new RuntimeException("读写失败!");  
  28. }  
  29. finally{  
  30. if(fr!=null){  
  31. try{  
  32. fr.close();  
  33. }  
  34. catch(IOException e){  
  35. throw new RuntimeException("输入流关闭失败!");  
  36. }  
  37. }  
  38. if(fw!=null){  
  39. try{  
  40. fw.close();  
  41. }  
  42. catch(IOException e){  
  43. throw new RuntimeException("输出流关闭失败!");  
  44. }  
  45. }  
  46. }  
  47. }  
  48. }  

代码在myeclipse上运行,结果成功,非常开心,虽然这么晚了。 
0 0
原创粉丝点击