Как читать / писать строки из / в .txt? - PullRequest
0 голосов
/ 22 декабря 2011

У меня есть текст в текстовом файле.Я хочу прочитать его из файла (первая строка - первая строка в файле и т. Д.), Что-то с ним сделать, а затем записать в другой текстовый файл.

Как это сделать?

Ответы [ 3 ]

2 голосов
/ 22 декабря 2011

Apache Commons IOUtils :

  String contents = FileUtils.readFileToString(file, "UTF-8");
  FileUtils.writeStringToFile(file, contents, "UTF-8");

И лучший способ выяснить, как это делается внутри (в случае, если вы заинтересованы), - взглянуть на исходный код для этих двух методов.

1 голос
/ 22 декабря 2011

Вы точно должны делать то, что упоминали другие люди. Но здесь я буду немного подробнее и приведу пример кода.

Чтобы открыть и прочитать файл:

String fileName = "paper.txt"; // file to be opened

try {
    Scanner fileData = new Scanner(new File(fileName));

    while(fileData.hasNextLine()){
        String line = fileData.nextLine();
        line = line.trim();


        if("".equals(line)){
            continue;
        } // end if

    } // end while

    fileData.close(); // close file
}  // end try

catch (FileNotFoundException e) {
    // Error message    
} // end catch

Для записи в текстовый файл вы можете использовать следующий код:

boolean fileOpened = true;

try {
    PrintWriter toFile = new PrintWriter("paper.txt");
} // end try

catch (FileNotFoundException e) {
       fileOpened = false;      
    // Error Message saying file could not be opened        
} // end catch

if(fileOpened){
    toFile.println("String to be added to the file");
    toFile.close();
} // end if

Надеюсь, это поможет вам решить вашу проблему.

1 голос
/ 22 декабря 2011

java.util.Scanner -> использовать это для чтения содержимого из файла (есть много других способов, упомянутых другими, но я считаю этот самый простой.)

java.io.PrintWriter -> использовать для записи в файл (возможны и другие способы, как указано выше)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...