Writing Lucene StandardAnalyzer results to text file with OutputStreamWriter
        Posted  
        
            by 
                user3693192
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by user3693192
        
        
        
        Published on 2014-05-31T00:43:40Z
        Indexed on 
            2014/05/31
            9:26 UTC
        
        
        Read the original article
        Hit count: 259
        
I'm getting ONLY the last result written to "outputStreamFile.txt". Can't figure out how to revise code so I can get ALL results written to text file.
Sample input text: "1st line of text\n" "2nd line of text \n"
Results in only 2nd line begin written (and not 1st line) as: "2nd line text\n"
private static void analyze(String text) throws IOException {
    analyzer = new StandardAnalyzer(Version.LUCENE_30);
    Reader r = new StringReader(text);
    TokenStream ts = (TokenStream) analyzer.tokenStream("", r);
    TermAttribute term = ts.addAttribute(TermAttribute.class);
    File outfile = new File("C:\\Users\\Desktop\\outputStreamFile.txt");
    FileOutputStream fileOutputStream = new FileOutputStream(outfile);
    OutputStreamWriter outputStreamWriter = new OutputStreamWriter(fileOutputStream, "UTF8");
    while(ts.incrementToken()) {
        //System.out.print(term.term() + " "); 
        outputStreamWriter.write(term.term().toString() + "\r\n");
    }
    outputStreamWriter.close();
}
© Stack Overflow or respective owner