1

ファイルを読み取り、そのファイルのコピーを行番号が挿入された別のファイルに書き込むプログラムを :write する割り当てがあります。「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 に答える