转:

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Handoking/article/details/83095380

输入输出的几种形式

1.FileReader,FileWriter

  1.   File r = new File("temp.txt")
  2. FileReader f = new FileReader(name);//读取文件name
  3. BufferedReader b = new BufferedReader(f);//缓冲写入,提供了readline函数,可以按行读取。
  4. Srting str = null;
  5. while((str = b.readline()) != null){
  6. System.out.print(str);//按行读取
  7. }
  8. //但FileReader涉及编码转换问题,默认系统编码,容易出现乱码
  1. FileWriter writer = new FileWriter("c://test.txt");//FileWriter不会覆盖原来的文本,并且能识别换行符。
  2. BufferedWriter bw = new BufferedWriter(writer);//缓冲写入,提高写入速度
  3. bw.write("已存在的字符串");

2.inputStreamReader,outputStreamWriter

  1. File f = new File("//..//");
  2. InputStreamReader reader = new InputStreamReader(new FileInputStream(f));
  3. BuffeReader br = new BufferedWriter(reader);
  4. //FileReader是把文件转换为字符流读入
  5. //FileInputStream是读取字节流
  6. //InputStreamReader将字节转换为字符,同时InputStreamReader的参数中可以自定义编码,这是个重要的特性。
  7. //OutputStreamWriter的用法同InputStreamReader,同样可以用户在其参数中自定义编码方式,比较适合对中文文档的写。

3.按行读写并指定编码方式

  1. //按行读中文文档,为了之后能按行写,先将读到的中文字符串,放入数组
  2. List<String>temp = new ArrayList<>();
  3. File f = new File("c://data.txt");
  4. InputStreamReader reader = new InputStreamReader(new FileInputStream(f),"GBK");
  5. BufferedReader br = new BufferedReader(reader);
  6. String str=null;
  7. while((str=br.readline())!=null){
  8. temp.append(str);
  9. }
  10. br.close();
  11. reader.close();
  12. //下面按行读。我实现的其实就是变相的分行打印,如果有更好的方法请大家指教
  13. OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream("out.txt"),"GBK");
  14. BufferedWriter bw = new BufferedWriter(os);
  15. PrintWriter out = new PrintWriter(bw);
  16. for(String aTemp:temp){
  17. out.println(aTemp);
  18. }
  19. bw.close();
  20. os.close();
  21. out.close();

java指定编码的按行读写txt文件(几种读写方式的比较)的更多相关文章

  1. cv.Mat 与 .txt 文件数据的读写操作

    1.按OpenCV格式实现的 .txt 文件读写 可以用 cvSave 和 cvLoad 实现,格式和 .xml/.yml 的差不多,不过如果专用与 OpenCV 的数据读写,还是用  .xml/.y ...

  2. UNICODE环境下读写txt文件操作

    内容转载自http://blog.sina.com.cn/s/blog_5d2bad130100t0x9.html UNICODE环境下读写txt文件操作 (2011-07-26 17:40:05) ...

  3. WPF 读写TxT文件

    原文:WPF 读写TxT文件 文/嶽永鹏 WPF 中读取和写入TxT 是经常性的操作,本篇将从详细演示WPF如何读取和写入TxT文件. 首先,TxT文件希望逐行读取,并将每行读取到的数据作为一个数组的 ...

  4. 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录

    package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  5. python操作txt文件中数据教程[1]-使用python读写txt文件

    python操作txt文件中数据教程[1]-使用python读写txt文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 原始txt文件 程序实现后结果 程序实现 filename = '. ...

  6. MFC读写.txt文件时进度条显示实时进度

    整体实现方式:先获得文件长度,然后用每次读取的长度,计算出完成的百分比,用百分比的值设置进度条. 一.MFC进度条 Progress Control 相关函数 1. create() --创建Prog ...

  7. [转载]C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...

  8. C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  9. C#读写txt文件的两种方法介绍[转]

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

随机推荐

  1. timestamp 与 nonce 防止重放攻击

    重放攻击是计算机世界黑客常用的攻击方式之一,所谓重放攻击就是攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程. 首先要明确一个事情,重放攻击是二次请求,黑客通过抓包获取到 ...

  2. mybatis-spring-1.2.2.jar下载地址

    http://www.java2s.com/Code/Jar/m/Downloadmybatisspring120jar.htm

  3. Tomcat配置Https环境

    windows环境下:http://blog.csdn.net/supersky07/article/details/7407523 linux环境下:http://blog.csdn.net/cuk ...

  4. Visual Studio for Mac中的ASP.NET Core

    所以你们都听到了#Build 2017的消息,Mac上的Visual Studio已经被完全发布,是一般的.为了庆祝这个版本,我将在我的Mac上写几篇关于构建一些不同的.net应用的帖子. 正如你已经 ...

  5. 本科理工男如何学习Linux

    我是一个本科学电子的理工男,但是一直对计算机感兴趣,所以平时自己在课下喜欢学一些与计算机有关的东西.由于对计算机感兴趣,所以后来我参加了学校的计算机社团,在那里接受一些培训和指导.当时在社团里看到师兄 ...

  6. Spring Boot2.0自定义配置文件使用

    声明: spring boot 1.5 以后,ConfigurationProperties取消locations属性,因此采用PropertySource注解配合使用 根据Spring Boot2. ...

  7. P1578 奶牛浴场

    P1578 奶牛浴场 题目描述 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建造一个大型浴场.但是John的奶牛有一个奇怪的习惯,每头奶牛都必 ...

  8. Snowflake Snow Snowflakes POJ - 3349 Hash

    题意:一个雪花有六个角  给出N个雪花 判断有没有相同的(可以随意旋转) 参考:https://blog.csdn.net/alongela/article/details/8245005 注意:参考 ...

  9. Codeforces997D Cycles in product 【FFT】【树形DP】

    题目大意: 给两个树,求环的个数. 题目分析: 出题人摆错题号系列. 通过画图很容易就能想到把新图拆在两个树上,在树上游走成环. 考虑DP状态F,G,T.F表示最终答案,T表示儿子不考虑父亲,G表示父 ...

  10. 洛谷P1462通往奥格瑞玛的道路题解

    [题目]: https://www.luogu.org/problemnew/show/P1462 题意 题目是给定了一张双向边,有边权的图,然后让我们求出一个最小值,满足一条路径上的最大的费用小于这 ...