首页 > 代码库 > java 21 - 8 复制文本文件的5种方式
java 21 - 8 复制文本文件的5种方式
需求:复制文本文件
分析:
由于文本文件我们用记事本打开后可以读懂,所以使用字符流。
而字符流有5种复制的方式:
首先写main方法
1 public static void main(String[] args) throws IOException { 2 // 数据源 3 String startfile = "C:\\Users\\Administrator\\Desktop\\新建文件夹\\start.txt"; 4 // 目的地 5 String endfile = "C:\\Users\\Administrator\\Desktop\\新建文件夹\\end.txt"; 6 7 //method1(startfile,endfile); 8 //method2(startfile,endfile); 9 //method3(startfile,endfile);10 //method4(startfile,endfile);11 method5(startfile,endfile);12 13 }
第一种方式:基本字符流一次读取一个字符
1 private static void method1(String startfile,String endfile) throws IOException { 2 // 基本字符流一次读写一个字符 3 //封装数据源 4 FileReader fr = new FileReader(startfile); 5 //封装目的地 6 FileWriter fw = new FileWriter(endfile); 7 8 //一次读写一个字符 9 int ch = 0;10 while((ch = fr.read()) != -1){11 fw.write(ch);12 }13 //释放资源14 fr.close();15 fw.close();16 }
第二种方式:基本字符流一次读取一个字符数组
1 private static void method2(String startfile, String endfile) throws IOException { 2 // 基本字符流一次读写一个字符数组 3 FileReader fr = new FileReader(startfile); 4 FileWriter fw = new FileWriter(endfile); 5 6 char[] ch = new char[1024]; 7 int len = 0; 8 while((len = fr.read(ch)) != -1){ 9 fw.write(ch,0,len);//这里需要注意10 }11 fr.close();12 fw.close();13 }
第三种方式:缓冲字符流一次读取一个字符
1 private static void method3(String startfile, String endfile) throws IOException{ 2 // 字符缓冲流一次读取一个字符 3 BufferedReader br = new BufferedReader(new FileReader(startfile)); 4 BufferedWriter bw = new BufferedWriter(new FileWriter(endfile)); 5 int ch = 0; 6 while((ch = br.read()) != -1){ 7 bw.write(ch); 8 } 9 br.close();10 bw.close();11 12 }
第四种方式:缓冲字符流一次读取一个字符数组
1 private static void method4(String startfile, String endfile) throws IOException { 2 // 字符缓冲流一次读取一个字符数组 3 BufferedWriter bw = new BufferedWriter(new FileWriter(endfile)); 4 BufferedReader br = new BufferedReader(new FileReader(startfile)); 5 char[] ch = new char[1024]; 6 int len = 0; 7 while((len = br.read(ch)) != -1){ 8 bw.write(ch,0,len); 9 }10 br.close();11 bw.close();12 13 }
第五种方式:缓冲字符流一次读取一个字符串(熟练掌握)
private static void method5(String startfile, String endfile) throws IOException { // 字符缓冲流一次读取一个字符串 BufferedReader br = new BufferedReader(new FileReader(startfile)); BufferedWriter bw = new BufferedWriter(new FileWriter(endfile)); String line = null; while((line = br.readLine()) != null){ bw.write(line); bw.newLine(); } br.close(); bw.close(); }
java 21 - 8 复制文本文件的5种方式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。