黑马程序员技术交流社区

标题: 通过IO流读取拷贝文件的几种方式 [打印本页]

作者: sniper170fly    时间: 2015-9-19 11:47
标题: 通过IO流读取拷贝文件的几种方式
  1. /**
  2. * IO一章只是总结,拷贝读写的几个方法。
  3. * 异常没有处理,直接抛了
  4. * @author Adam
  5. *
  6. *        带缓冲的字节流复制文件
  7. */

  8. import java.io.*;
  9. public class CountSum {

  10.         public static void main(String[] args) throws IOException
  11.         {
  12.                
  13. //                streamCopyPic();
  14. //                copyTxt();
  15. //                keyReadToTxt();
  16. //                fileToCom();
  17.                 keyToCom();
  18.         }
  19.         //字节流方式拷贝图片
  20.         public static void streamCopyPic() throws IOException
  21.         {
  22.                 //加入缓冲技术提高效率
  23.                 BufferedInputStream bufi = new BufferedInputStream(new FileInputStream("d:\\33.jpg"));
  24.                 BufferedOutputStream bufo = new BufferedOutputStream(new FileOutputStream("d:\\aa.jpg"));
  25.                
  26.                 byte[] buf = new byte[1024];
  27.                 int i = 0;       
  28.                 while((i=bufi.read(buf))!=-1)
  29.                 {
  30.                         bufo.write(buf, 0, buf.length);
  31.                         bufo.flush();
  32.                 }
  33.                 bufo.close();
  34.                 bufi.close();
  35.                
  36.         }
  37.         //字符流拷贝文件
  38.         public static void copyTxt() throws IOException
  39.         {
  40.                 BufferedReader bufr = new BufferedReader(new FileReader("d:\\abc.txt"));
  41.                 BufferedWriter bufw = new BufferedWriter(new FileWriter("d:\\23333.txt"));
  42.                 String str = null;
  43.                 while((str=bufr.readLine())!=null)
  44.                 {
  45.                         bufw.write(str);
  46.                         bufw.newLine();
  47.                         bufw.flush();
  48.                 }
  49.                 bufw.close();
  50.                 bufr.close();
  51.         }
  52.        
  53.         //从键盘读取数据保存到文件中
  54.         public static void keyReadToTxt() throws IOException
  55.         {
  56.                 BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
  57.                
  58.                 BufferedWriter bufw = new BufferedWriter(new FileWriter("d:\\zhangxiang.txt"));
  59.                
  60.                 String str = null;
  61.                 while((str=bufr.readLine())!=null)
  62.                 {
  63.                         if(str.equals("over"))
  64.                                 break;
  65.                         bufw.write(str);
  66.                         bufw.newLine();
  67.                         bufw.flush();
  68.                 }
  69.                 bufw.close();
  70.                 bufr.close();
  71.         }
  72.        
  73.         //从文件读取数据输出到控制台
  74.         public static void fileToCom() throws IOException
  75.         {
  76.                 BufferedReader bufr = new BufferedReader(new FileReader("d:\\zhangxiang.txt"));
  77.                
  78.                 BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
  79.                
  80.                 String str = null;
  81.                 while((str=bufr.readLine())!=null)
  82.                 {
  83.                         bufw.write(str);
  84.                         bufw.newLine();
  85.                 }
  86.                 bufw.close();
  87.                 bufr.close();
  88.         }
  89.        
  90.         //从控制台输入文件,打印在控制台上
  91.         public static void keyToCom() throws IOException
  92.         {
  93.                 BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
  94.                 BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));
  95.                
  96.                 String str = null;
  97.                 while((str=bufr.readLine())!=null)
  98.                 {
  99.                         if(str.equals("over"))
  100.                                 break;
  101.                         bufw.write(str.toUpperCase());
  102.                         bufw.newLine();
  103.                         bufw.flush();
  104.                 }
  105.                 bufw.close();
  106.                 bufr.close();
  107.         }

  108. }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2