2013-03-15 4 views
1

У меня есть задание: написать программу, которая читает файл и записывает копию файла в другой файл с введенными номерами строк. Я не уверен, что делать в конце кода в разделе «for (int i = 0; i < lines.length; i ++)». что мне нужно сделать для части «lines» и как добавить номера строк? БлагодаряПисьмо и копирование Текстовые файлы

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]); 
    } 
} 
} 

ответ

0

Почему ты не мог просто сделать что-то подобное,

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

Просто используйте переменную i, так как он будет увеличиваться с каждой итерации в любом случае.

+0

«линии» слово, где я получаю сообщение об ошибке, хотя, говорит "can not find variable". – 2013-03-15 03:37:24

+0

@Torre Я переключил его на array.length, я думаю, это то, что вы ищете. – Austin

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(); 
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(); 
    } 
Смежные вопросы