JAVA 使用FileReader/FileWriter复制文件
2017-05-13 11:43
417 查看
好记性不如赖笔头…………
使用FileReader读取文件、FileWriter写入文件的方法复制文件,只能复制字符型文件,不能复制流媒体文件
使用FileReader读取文件、FileWriter写入文件的方法复制文件,只能复制字符型文件,不能复制流媒体文件
package com.Ckinghan.ioDemo; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * 复制字符型文件,流媒体文件无法复制 * @author Ckinghan */ public class FileCopy { public static void main(String[] args) { /** * 复制字符型文件,使用每次读取一个字符的方式 */ copyFile1(); /** *复制字符型文件,使用每次读取一定字符数量的方式,这种方式,效率较高 */ copyFile2(); } /** * @描述:复制字符型文件,使用每次读取一定字符数量的方式,这种方式,效率较高 * @创建时间: */ public static void copyFile2(){ //创建读取对象 FileReader reader = null; //创建写入对象 FileWriter writer = null; try { //实例化读取对象 reader = new FileReader("src/com/Ckinghan/CollectionDemo/CollectionsDemo.java"); //实例化写入对象 writer = new FileWriter("CollectionsDemo.java"); //记录读取的字符个数 int readerNum = -1; //规定每次读取的字符数量 char[] cs = new char[1024]; //这种读取方式效率相对较高,建议使用 while ((readerNum = reader.read(cs)) != -1) { writer.write(cs,0,readerNum); } System.out.println("使用一次性读取多个字符方式复制文件成功"); //如果发生文件不存异常,捕获并输出 } catch (FileNotFoundException e) { e.printStackTrace(); //如果发生IO异常,捕获并输出 }catch (IOException e) { e.printStackTrace(); //无论如何,都要判断并关闭流 }finally { try { //注意,要先关闭输出流,再关输入流, if(writer != null) writer.close(); //关闭输入流 if(reader != null) reader.close(); } catch (IOException e) { e.printStackTrace(); } } } /** * @描述:复制字符型文件,使用每次读取一个字符的方式 * @创建时间: */ public static void copyFile1(){ //创建读取对象 FileReader reader = null; //创建写入对象 FileWriter writer = null; try { //实例化读取对象 reader = new FileReader("src/com/Ckinghan/CollectionDemo/CollectionsDemo.java"); //实例化写入对象 writer = new FileWriter("CollectionsDemo.java"); //读取方式一,使用read()方法每次读取一个字符 int charVal = -1; //这种读取方式效率比较低 while ((charVal = reader.read()) != -1) { writer.write(charVal); } System.out.println("使用单个字符方式复制文件成功"); //如果发生文件不存异常,捕获并输出 } catch (FileNotFoundException e) { e.printStackTrace(); //如果发生IO异常,捕获并输出 }catch (IOException e) { e.printStackTrace(); //无论如何,都要判断并关闭流 }finally { try { //注意,要先关闭输出流,再关输入流, if(writer != null) writer.close(); //关闭输入流 if(reader != null) reader.close(); } catch (IOException e) { e.printStackTrace(); } } } }
相关文章推荐
- Java IO 之 FileReader FileWriter 实现字符文件的复制(处理FileWriter新建文件失败的问题)
- 黑马程序员_java初操作使用FileReader及FileWriter进行文件复制
- Java基础知识强化之IO流笔记37:FileReader/FileWriter(转换流的子类)复制文本文件案例
- java FileReader/FileWriter读写文件
- 190_IO流_FileReader_Writer完成文件复制
- java IO之字节流和字符流-Reader和Writer以及实现文件复制拷贝
- 使用Properties配置文件 InputStream与FileReader (java)
- JavaI/O:简单的使用Reader和Writer来操作文件
- Java基础之写文件——使用带缓冲的Writer写文件(WriterOutputToFile)
- Java 使用DataInputStream将数据写入文件,使用FileReader读取演示
- JAVA基础再回首(二十二)——转换流概述及用法、简化写法FileWriter和 FileReader、字符缓冲流及特殊用法、字节流字符流复制文件方法总结
- Java基础之IO流中使用FileWriter和FileReader实现拷贝文件
- java-IO操作——使用FileWriter和FileReader来操作文件
- java 使用FileInputStream,FileReader,BufferedStream读写记事本文件的例子
- Java FileReader FileWriter 写读文件 代码
- Java FileReader FileWriter 写读文件 代码
- JAVA基础初探(十三)IO简介、字节流与字符流区别、带缓冲的字节/字符流读取数据、FileReader/FileWriter便捷类、Apache IO库使用说明
- java 使用Reader和Writer对文件内容的拷贝
- 初学Java,IO之使用FileInputStream和FileReader读取文件(四十一)
- FileReader/FileWriter复制文件