JAVA 使用FileReaderFileWriter复制文件

彩虹网

好记性不如赖笔头…………

使用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;//这种读取方式效率相对较高,建议使用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();}}}}

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。