黑马程序员技术交流社区

标题: 来个帮忙的 [打印本页]

作者: 走遍世界找寻你    时间: 2013-11-27 14:51
标题: 来个帮忙的
package day21lianxi.itcast.cn;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Demo5 {
        public static void main(String[] args) throws IOException {
                BufferedReader lnr = new BufferedReader(new FileReader("aaa.txt"));
                BufferedWriter bfw = new BufferedWriter(new FileWriter("ggg.txt"));
                int b;
                while((b = lnr.read()) != -1){
                        bfw.write(b);
                }
                lnr.close();
                bfw.close();
        }
}
怎么给ggg文件的每行加上行号啊
作者: HAnG    时间: 2013-11-27 15:40
本帖最后由 HAnG 于 2013-11-27 17:24 编辑

需要用到BufferedReader类的子类:LineNumberReader类
帮你改了下,下划线是被修改的,红色是修改后的,蓝色是新增的

package day21lianxi.itcast.cn;

import java.io.BufferedReader;
import java.io.LineNumberReader;

import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;


public class Demo5 {
        public static void main(String[] args) throws IOException {
                BufferedReader lnr = new BufferedReader(new FileReader("aaa.txt"));
                LineNumberReader lnr = new LineNumberReader(new FileReader("aaa.txt"));

                BufferedWriter bfw = new BufferedWriter(new FileWriter("ggg.txt"));
                int b;
                String b

                while((b = lnr.read() lnr.readLine() ) != -1 null ) {
                        bfw.write(lnr.getLineNumber()+":");
                        bfw.write(b);
                        bfw.newLine();                   
                 }
                lnr.close();
                bfw.close();
        }
}






作者: 陪你等日出    时间: 2013-11-27 17:18
这样也行啊,没用过这个类,试一下子去{:soso_e113:}
作者: 陪你等日出    时间: 2013-11-27 17:25
不错 不错
作者: 何超    时间: 2013-11-27 21:17
  1. import java.io.*;

  2. public class M {
  3.         public static void main(String[] args) throws IOException {
  4.                 LineNumberReader lnr = new LineNumberReader(new FileReader("1.txt"));
  5.                 BufferedWriter bfw = new BufferedWriter(new FileWriter("ggg.txt"));
  6.                 String str;
  7.                 while ((str = lnr.readLine()) != null) {
  8.                         //lnr.setLineNumber(10);
  9.                         bfw.write(lnr.getLineNumber()+":"+str);
  10.                         bfw.newLine();
  11.                         bfw.flush();
  12.                 }
  13.                 lnr.close();
  14.                 bfw.close();
  15.         }
  16. }
复制代码

这个直接可以使用 LineNumberReader() 用法和缓冲区读取的用法一样 但是多了两个方法
getLineNumber()和setLineNumber(int a);
作者: FFF    时间: 2013-12-2 00:17
同学、问题已经解决了吗?
如果没有、就去新版28期问吧,26~27已经结束了。开班了!
http://bbs.itheima.com/forum-165-1.html

如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2