A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 走遍世界找寻你 中级黑马   /  2013-11-27 14:51  /  1476 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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文件的每行加上行号啊

评分

参与人数 1技术分 +1 收起 理由
wym + 1 继续努力

查看全部评分

8 个回复

倒序浏览
本帖最后由 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();
        }
}





回复 使用道具 举报 1 0
这样也行啊,没用过这个类,试一下子去{:soso_e113:}
回复 使用道具 举报
不错 不错
回复 使用道具 举报
  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);
回复 使用道具 举报
同学、问题已经解决了吗?
如果没有、就去新版28期问吧,26~27已经结束了。开班了!
http://bbs.itheima.com/forum-165-1.html

如果问题已经解决,请及时修改主题为“提问结束”。
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html
如果没有解决,可能你的问题问得不够清楚。可以重新发问的哦~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马