基于java文本复制的7种方式总结

 更新时间:2018年01月22日 13:59:37   作者:小林子林子  
下面小编就为大家分享一篇基于java文本复制的7种方式总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

如下所示:

package copy;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class FileCopy {
public static void main(String[] args) throws IOException {
// 第一种: 使用FileReader和FileWrite,一次读取一个字符
		FileReader fr = new FileReader("D:\\a.txt");
		FileWriter fw = new FileWriter("D:\\b.txt");
		int ch;
		while((ch = fr.read()) != -1) {
			fw.write(ch);
		}
		fw.close();
		fr.close();
// 第二种: 使用FileReader和FileWrite,一次读取一个字符数组
		FileReader fr = new FileReader("D:\\a.txt");
		FileWriter fw = new FileWriter("D:\\b.txt");
		char[] chs = new char[1024];
		int len;
		while((len = fr.read(chs)) != -1) {
			fw.write(chs, 0, len);
		}
		fw.close();
		fr.close();
// 第三种: 使用FileOutputStream和FileInputStream,一次读取一个字节
		FileInputStream fis = new FileInputStream("D:\\a.txt");
		FileOutputStream fos = new FileOutputStream("D:\\b.txt");
		int ch;
		while((ch = fis.read()) != -1) {
			fos.write(ch);
		}
		fos.close();
		fis.close();
// 第四种: 使用FileOutputStream和FileInputStream,一次读取一个字节数组
		FileInputStream fis = new FileInputStream("D:\\a.txt");
		FileOutputStream fos = new FileOutputStream("D:\\b.txt");
		int ch;
		byte[] by = new byte[1024];
		while((ch = fis.read(by)) != -1) {
			fos.write(by, 0, ch);
		}
		fos.close();
		fis.close();
// 第五种: 使用BufferedReader和BufferedWriter,一次读取一行
		BufferedReader br = new BufferedReader(new FileReader("D:\\a.txt"));
		BufferedWriter bw = new BufferedWriter(new FileWriter("D:\\b.txt"));
		String line;
		while((line = br.readLine()) != null) {
			bw.write(line);
			bw.newLine();
			bw.flush();
		}
		bw.close();
		br.close();
// 第六种: 使用高效缓冲流,BufferedInputStream和BufferedOutputStream,一次读取一个字节
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\a.txt"));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\b.txt"));
		int ch;
		while((ch = bis.read()) != -1) {
			bos.write(ch);
		}
		bos.close();
		bis.close();
// 第七种: 使用高效缓冲流,BufferedInputStream和BufferedOutputStream,一次读取一个字节数组
		BufferedInputStream bis = new BufferedInputStream(new FileInputStream("D:\\a.txt"));
		BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("D:\\b.txt"));
		int ch;
		byte[] by = new byte[1024];
		while((ch = bis.read(by)) != -1) {
			bos.write(by, 0, ch);
		}
		bos.close();
		bis.close();
}
}

以上这篇基于java文本复制的7种方式总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • JavaMe开发绘制可自动换行文本

    JavaMe开发绘制可自动换行文本

    JavaMe Graphics类中的drawString不支持文本换行,这样绘制比较长的字符串时,文本被绘制在同一行,超过屏幕部分的字符串被截断了。如何使绘制的文本能自动换行呢?
    2015-09-09
  • Springboot项目实现Mysql多数据源切换的完整实例

    Springboot项目实现Mysql多数据源切换的完整实例

    这篇文章主要给大家介绍了关于Springboot项目实现Mysql多数据源切换的完整实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Java中的非对称加密算法原理与实现方式

    Java中的非对称加密算法原理与实现方式

    在当今的信息时代,数据安全已经成为了一个至关重要的问题,加密技术作为保障信息安全的重要手段,受到了广泛的应用和关注,本篇文章将详细介绍Java中的非对称加密算法原理及其实现方式,需要的朋友可以参考下
    2023-12-12
  • springboot中使用@Transactional注解事物不生效的坑

    springboot中使用@Transactional注解事物不生效的坑

    这篇文章主要介绍了springboot中使用@Transactional注解事物不生效的原因,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Java中的三种标准注解和四种元注解说明

    Java中的三种标准注解和四种元注解说明

    这篇文章主要介绍了Java中的三种标准注解和四种元注解说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • java实现插入排序算法

    java实现插入排序算法

    插入排序算法是一个对少量元素进行排序的有效算法。插入排序的工作原理与打牌时整理手中的牌的做法类似,开始摸牌时,我们的左手是空的,接着一次从桌上摸起一张牌,并将它插入到左手的正确位置。
    2015-04-04
  • springboot执行延时任务之DelayQueue实例

    springboot执行延时任务之DelayQueue实例

    这篇文章主要介绍了springboot执行延时任务之DelayQueue实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • 快速掌握SpringBoot应用的启动入口

    快速掌握SpringBoot应用的启动入口

    本篇并不是深究内置服务器的启动过程,而是追溯Springboot启动之前到底做了什么?它是如何与我们经常写的@SpringBootApplication注解注释的main方法类绑定起来的?对SpringBoot启动入口相关知识感兴趣的朋友一起看看吧
    2022-05-05
  • springcloud feign 接口指定接口服务ip方式

    springcloud feign 接口指定接口服务ip方式

    这篇文章主要介绍了springcloud feign 接口指定接口服务ip方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 解决方法A调用方法B的事务控制问题

    解决方法A调用方法B的事务控制问题

    这篇文章主要介绍了解决方法A调用方法B的事务控制问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07

最新评论