Как мне перенести 5-буквенные слова в новый текстовый файл? - PullRequest
0 голосов
/ 17 ноября 2018

Допустим, у меня есть текстовый файл, в котором есть весь словарь.Как сделать так, чтобы этот код мог переносить только 5-буквенные слова в новый созданный текстовый файл?

 import java.io.*;
 public class wordwebster {
public static void main(String[] args) throws IOException {
    int five = 0;
    File directory = new File(".");
    String webster = directory.getCanonicalPath() + File.separator+ "webster.txt";
    String fiveLetterWords = directory.getCanonicalPath()+ File.separator +"fiveLetterWords.txt";

    File fin = new File(webster);
    FileInputStream file = new FileInputStream(fin);
    BufferedReader input = new BufferedReader(new InputStreamReader(file));

    FileWriter fileStream = new FileWriter(fiveLetterWords,true);
    BufferedWriter output = new BufferedWriter(fileStream);

    String line = null;
    while ((line = input.readLine())!= null){
        output.write(line);
        output.newLine();

    }
    input.close();

    output.close();
}
}

РЕДАКТИРОВАТЬ:

В ответ на вопрос, скажем, входной файл (webster.txt) содержат слова

Sentence
Frequent 
Hello 
Send 
Variety 
False

Мне нужно было бы извлечь только пять буквенных слов (Hello и False) и поместить их в новый файл (fiveLetterWords.txt).

1 Ответ

0 голосов
/ 17 ноября 2018

Если вам нужно разрешить только слова, длина которых ровно пять, вы можете просто поставить условие if для проверки перед записью в файл.Измените цикл while на это,

while ((line = input.readLine()) != null) {
    if (line.trim().length() == 5) {
        output.write(line);
        output.newLine();
    }
}

Надеюсь, это поможет.Дайте мне знать, если у вас возникнут какие-либо проблемы.

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