给文本文件的每一行按顺序标号

      文件操作是编程的基本操作,特别是在中文分词中,文件的操作更为重要.中文分词的断词阶段会涉及到这一点,要求能够读取语料库中的内容,并对每个词的词频进行标注.本文将根据这个要求,列出代码示例如何进行标注.

       下面程序实现的主要功能是:创建一个目标空文件,将源文件的内容按行写入目标文件中,并按源文件的行次给目标文件的每一行顺序标号.代码如下:

import java.io.*;

public class LineNum {

 public static void main(String args[])throws IOException{
  
  
  File newDir=new File("d://java//test2");
  File newFileR=new File(newDir,"lineR.txt");//创建源文件对象
  
  
  File newFileW=new File(newDir,"lineW0.txt");//创建目标文件对象
  newFileW.createNewFile();//创建目标文件
  
  RandomAccessFile fileR=new RandomAccessFile(newFileR,"r");
  
  RandomAccessFile fileW=new RandomAccessFile(newFileW,"rw");
 
  
  //下面一段用来计算文件的总行数
  BufferedReader reader = new BufferedReader (new java.io.FileReader (newFileR));

    int k = 0;
   String line = reader.readLine (); // 读入一行
         while (line != null){                                   
             line = reader.readLine (); // 读入下一入
             k=k+1;
         }
       System.out.println("该文件共有  "+k+"  行");
      
      
      //将文件按行写入目标文件中,并对每行标号.
       for(int i=1;i<=k;i++)
  {
   fileW.writeBytes("NUM:"+i+"   "+fileR.readLine()+"/r/n");
   
  };
  
 //注意:由于程序是顺序执行的,所以用来记数的文件对象和用来输出的文件对象流必须不同.不过,其对象流均可采用RadomAccessFile类. 
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值