编写和复制文本文件

时间:2013-03-15 03:33:20

标签: java file-io ioexception filewriter printwriter

我有一个任务:编写一个程序来读取文件并将该文件的副本写入另一个插入了行号的文件。我不知道在“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]);
    }
}
}

3 个答案:

答案 0 :(得分:0)

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

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

只需使用变量i,因为它会随着每个循环递增。

答案 1 :(得分: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();

答案 2 :(得分: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();
    }