Могу ли я узнать, как записать вывод в текстовый файл так же, как вывод, показанный функцией show(). Например, когда я выполнил этот код:
p.show();
выход:
(TOP (S (NP (PRP$ My) (NN name)) (VP (VBZ is) (NP (NNP David.))))
когда я выполнил этот код:
System.out.println(p.toString());
выход:
My name is David.
Итак, когда я попытался записать этот вывод в текстовый файл, используя этот код:
fout.write((p.toString()+newline).getBytes());
вывод в текстовом файле аналогичен выводу, показанному "System.out.println(p.toString());".
Итак, как записать в текстовый файл тот же вывод, что и функция show()?
Полные коды:
package com.mycompany.app;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import opennlp.tools.cmdline.parser.ParserTool;
import opennlp.tools.parser.Parse;
import opennlp.tools.parser.Parser;
import opennlp.tools.parser.ParserFactory;
import opennlp.tools.parser.ParserModel;
import opennlp.tools.sentdetect.SentenceDetectorME;
import opennlp.tools.sentdetect.SentenceModel;
public class ChunkParser {
public static void main(String[] args) throws IOException {
InputStream modelIn = new FileInputStream("D:/NetBeansProjects/my-app/src/main/resources/en-parser-chunking.zip");
FileInputStream fin=new FileInputStream("D:/NetBeansProjects/my-app/textfile.txt");
DataInputStream in = new DataInputStream(fin);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine=br.readLine();
System.out.println("Full Text: "+"\n"+strLine+"\n");
try {
ParserModel pmodel = new ParserModel(modelIn);
Parser parserc = ParserFactory.create(pmodel);
Parse topParses[] = ParserTool.parseLine(strLine, parserc, 1);
FileOutputStream fout=new FileOutputStream("D:/NetBeansProjects/my-app/ChunkParser.txt");
String newline = System.getProperty("line.separator");
for (Parse p : topParses){
p.show();
System.out.println(p.toString());
fout.write((p.toString()+newline).getBytes());
}
fout.close();
}
catch (IOException e) {
e.printStackTrace();
}
finally {
if (modelIn != null) {
try {
modelIn.close();
}
catch (IOException e) {
}
}
fin.close();
}
}
}
show()
печатает этот вывод. Вы также можете опубликовать код для этого здесь. - person Bhesh Gurung   schedule 07.06.2013