1

我有一个任务:编写一个程序,该程序读取一个文件并将文件的副本写入另一个插入了行号的文件。我不确定在“for(int i =0; i < lines.length; i++)”部分的代码末尾要做什么。我需要为“行”部分做什么以及如何添加行号?谢谢

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class Question43 
{
public static void main(String[] args) throws IOException
{
    Scanner fileIn = new Scanner(new File("Chapter 11Assign43.txt") );


    FileWriter fileOut = new FileWriter("FileOut.txt");
    PrintWriter output = new PrintWriter(fileOut);

    String []array = new String[10];

    int indx = 0;
    while(fileIn.hasNext( ) )
    {
        array[indx] = fileIn.nextLine( );
    }

    fileIn.close();

    int num = 1;
    for(int i =0; i < lines.length; i++)
    {
        output.println(num+"\t"+array[i]);
    }
}
}
4

3 回答 3

0

您可以使用 java.io.LineNumberReader 来计算行数

    LineNumberReader lr = new LineNumberReader(new FileReader("file1"));
    BufferedWriter bw = new BufferedWriter(new FileWriter("file2"));
    String line;
    while((line = lr.readLine()) != null) {
        bw.write(lr.getLineNumber() + " " + line);
        bw.newLine();
    }
于 2013-03-15T04:00:24.640 回答
0

为什么你不能做类似的事情,

for(int i =0; i < array.length; i++)
{
    output.println(i+"\t"+array[i]);
}

只需使用变量i,因为无论如何它都会随着每个循环而增加。

于 2013-03-15T03:35:38.587 回答
0

想试试这个...

    BufferedReader reader = new BufferedReader(new FileReader("infile"));
    BufferedWriter writer = new BufferedWriter(new FileWriter("outfile"));
    String line;
    int lineNumber = 0;
    while((line = reader.readLine()) != null) {
        writer.write(++lineNumber + " " + line);
        writer.newLine();
    }
    writer.close();
    reader.close();
于 2013-03-15T03:36:35.780 回答