Я на самом деле разрабатываю систему, в которой вы вводите некоторые текстовые файлы в StandardAnalyzer, и содержимое этого файла затем заменяется выводом StandardAnalyzer (который маркирует и удаляет все стоп-слова).Код, разработанный до сих пор:
File f = new File(path);
TokenStream stream = analyzer.tokenStream("contents",
new StringReader(readFileToString(f)));
CharTermAttribute charTermAttribute = stream.getAttribute(CharTermAttribute.class);
while (stream.incrementToken()) {
String term = charTermAttribute.toString();
System.out.print(term);
}
//Following is the readFileToString(File f) function
StringBuilder textBuilder = new StringBuilder();
String ls = System.getProperty("line.separator");
Scanner scanner = new Scanner(new FileInputStream(f));
while (scanner.hasNextLine()){
textBuilder.append(scanner.nextLine() + ls);
}
scanner.close();
return textBuilder.toString();
readFileToString (f) - простая функция, которая преобразует содержимое файла в строковое представление.Вывод, который я получаю, - это слова, каждое с удаленными пробелами или новая строка между ними.Есть ли способ сохранить исходные пробелы или символы новой строки после вывода анализатора, чтобы я мог заменить исходное содержимое файла фильтрованным содержимым StandardAnalyzer и представить его в читаемой форме?