我无法尝试输出到文本文件。是的,这听起来很简单,但我一直把我的作家放在错误的位置,所以我把它拿出来,而我正在使用system.out.println而且它可以工作,但它打印到控制台而不是文本文件。该程序读入带有患者记录的文本文件,找到标签,获取标签内的信息,并将其打印到我很难做的文本文件中。它的逗号分隔和格式化我只需要将所有收集的数据打印到文本文件中。请指教:
package patient.records;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Writer;
public class NoTagsOnlyData {
private static final String RECORD_START_TAG = "<record>";
private static final String RECORD_END_TAG = "</record>";
private static final String newFileName = "C:\\Users\\Desktop\\OnlyData\\"; //this is for my output folder location
public static void main(String[] args) {
File records = new File("C:\\Users\\Desktop\\Input.txt");
try (BufferedReader br = new BufferedReader(new FileReader(records))) {
StringBuilder record = null;
String text = null;
while ((text = br.readLine()) != null) {
if (text.contains("<PATIENT_ID>") && text.contains("</PATIENT_ID>")) {
String end = text.substring(text.indexOf("<PATIENT_ID>") + "<PATIENT_ID>".length() , text.indexOf("</PATIENT_ID>"));
text = end;
System.out.print(text+ ",");
}
if (text.contains("<AGE>") && text.contains("</AGE>")) {
String end = text.substring( text.indexOf("<AGE>") + "<AGE>".length() , text.indexOf("</AGE>"));
text = end;
System.out.println(text+ ",");
}
if (text.trim().length() > 0) {
if (text.startsWith(RECORD_START_TAG)) {
record = new StringBuilder(128);
record.append(text);
} else if (text.startsWith(RECORD_END_TAG)) {
record.append(text);
}
else {
record.append(text);
}
}
}
}
catch (IOException exp) {
exp.printStackTrace();
}
}
}
如果有人想看输入的文字文件,请告诉我。谢谢你的帮助。