Я написал программу, которая должна принимать входные данные из файла и извлекать из него только текст, сохраняя его содержимое в массиве. Мое содержимое текстового файла:Сканер не работает на StringBuilder
There is some!text.written%in
the FILE[That]=Have+to`be==separated????
И то, что я попытался код:
public static void main(String[] args) throws FileNotFoundException, IOException {
BufferedReader file = new BufferedReader(new FileReader("mfile.txt"));
List<String> list = new ArrayList();
String str;
StringBuilder filedata = new StringBuilder();
Scanner toknizer = new Scanner(filedata.toString());
while((str=file.readLine())!=null){
filedata.append(str);
}
toknizer.useDelimiter("[^a-z]");
while(toknizer.hasNext()){
list.add(toknizer.next());
}
System.out.println(list);
}
в это время я только хочу, чтобы извлечь текст, который написан в небольших алфавитах. Но программа распечатывает пустой список. Отладка показала, что toknizer.hasNext()
возвращает false в while(toknizer.hasNext())
. Что не так? Я использую неправильное регулярное выражение? Я получил идею использования [^a-z]
от here.
Потому что я не так опытен на Java в это время ..... – Tariq