java按行读取txt并按行写入

  IO流想必大家都很熟悉了,本次实现的需求是按行读取文件内容并且按行写入,代码如下:

 

 1 try {
 2             String encoding="utf-8";    //设定自己需要的字符编码集
 3             File file = new File("c:/text.txt");
 4             if(file.exists() && file.isFile()){
 5                 InputStreamReader read = new InputStreamReader(
 6                         new FileInputStream(file), encoding);// 考虑到编码格式
 7                 //FileReader read = new FileReader(file); //不考虑转码,可使用FileReader;
 8                 BufferedReader br = new BufferedReader(read);//使用缓冲流按行读取
 9                 String lineText = null;
10                 StringBuffer sb = new StringBuffer();
11                 while((lineText=br.readLine()) !=null){
12                     System.out.println(lineText);
13                     sb.append(lineText+"\n");
14                 }
15                 br.close();
16                 read.close();
17                 FileWriter fw = new FileWriter("c:/t.txt");
18                 BufferedWriter bw = new BufferedWriter(fw);
19                 bw.write(sb.toString());
20                 bw.close();
21                 fw.close();
22             }else{           System.out.println("找不到指定的文件");            }
23
24         } catch (IOException e) {
25             // TODO Auto-generated catch block
26             e.printStackTrace();
27         }

  下面是个人对以上代码的理解:

  1、为什么用字符流 而不用字节流?

        文件读取选择字符流是因为文件是纯文本,使用字符流可以按行读取,操作快,适合阅读。

  2、为什么用InputStreamReader 而不用FileReader?

    FileReader是InputStreamReader的子类,继承了它的方法,则不同点在于构造函数,

    InputStreamReader的构造函数参数为 InputStream 和编码方式,而FileReader的构造函数参数可以file对象和String的path,当需要根据file和paht

    读取文件时,选用FileReader。

  另记:在使用String类的split()方法时,按“|” 截取字符串的时候,并不能出现正常的结果,原因是“|” 是转义字符,

      需加("\\|")。

  

时间: 2024-11-09 02:56:09

java按行读取txt并按行写入的相关文章

Java后台按行读取txt文件

java读取txt文件内容.可以作如下理解: 首先获得一个文件句柄.File file = new File(); file即为文件句柄.两人之间连通电话网络了.接下来可以开始打电话了. 通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了.接下来需要解读成乙方可以理解的东西 既然你使用了FileInputStream().那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据 解读完成后要输出

MFC-按行读取TXT数据

TXT中数据格式如下: 1 23 4 0 4 10 -- 要实现的功能是:定义一个函数,每次调用时从TXT文档中读一个整数 ,赋值给变量.同时,文件位置向下移动一行,以便下次调用时读取下一行的数据. MFC主要读写文件的类是CFile,CStdioFile类是派生自CFile类的,主要增加了一个按行的方式读取/写入文件每行字符串的功能[读写TXT文件,写入和输出必须统一格式].所以实现按行读取字符串用CStdioFile类. 代码: void CMFCdemoDlg::getPersonCnt(

Delphi 快速读取TXT 指定行的数据

继上次的问题.在提取了大量的Email 数据后.现在读取数据成了一个问题.今天我取过1~100w的数据.明天我要取100w~200w的数据.在不用数据库的情况下,我搞了一个下午.Delphi Tstringlist 和 textfile 的简单读取是满足不了的.Tstringlist加载不了大数据.普通的textfile 读取指定行,必须循环count到指定行. 想了一下午,然后想到另类点的解决方法.先对齐数据,每行规定一样的长度.比如每行是 255字节.那么100w行就是 255*100w.直

Java读取txt文件和写入txt文件

写Java程序时经常碰到要读如txt或写入txt文件的情况,但是由于要定义好多变量,经常记不住,每次都要查,特此整理一下,简单易用,方便好懂! package edu.thu.keyword.test; import java.io.File; import java.io.InputStreamReader; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream;

转:Java读取txt文件和写入txt文件

1 package edu.thu.keyword.test; 2 3 import java.io.File; 4 import java.io.InputStreamReader; 5 import java.io.BufferedReader; 6 import java.io.BufferedWriter; 7 import java.io.FileInputStream; 8 import java.io.FileWriter; 9 10 public class cin_txt {

【java IO】使用Java输入输出流 读取txt文件内数据,进行拼接后写入到另一个文件中

1 package com.sxd.test.util; 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileOutputStream; 8 import java.io.IOException; 9 import java.io.InputStreamRea

Python逐行读取txt文本,按符合分割词并逐行写入txt

背景Background: 我的txt文件里面存放的是搜索词,由于原始的query(搜索词)都是用/或者.来分割词,而我要达到的是每个词语是单独的一行,并且写入txt 第一步:按行读取txt文件 s = [] f = open('querylist.txt','r') #由于我使用的pycharm已经设置完了路径,因此我直接写了文件名 for lines in f: # query_list.append(line.replace('/','').replace('.','').replace(

Shell按行读取文件的3种方法

Shell按行读取文件的方法有很多,下面写出三种方法: 写法一: #!/bin/bash #描述: # while循环读行操作 #作者:孤舟点点 #版本:1.0 #创建时间:2017-11-09 04:08:52 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH while read line do echo $line done < filename(待读取的文件) 写法二:

Selenium+Python参数化:读取TXT文件

概述 从Selenium模块化一文中,可以看出参数化的必要性,本文来介绍下读取外部txt文件的方法. 如何打开文件 打开文件有以下两个函数可以应用: 1.open(file_name,access_mode) file_name: 文件路径及名称: access_mode :访问方式,具体参数如下,,未提供参数,则默认为r: r:表示读取: w:表示写入: a:表示添加: +: 表示读写: b:表示2进制访问; 2.file函数 file()内建函数它的功能等于open(),如下根据文档说明可知