我有一个包含问题和答案的大文件。我想将问题放在一个文件中并回答其他文件。确定问题是否结束/回答的唯一方法是“#”;'。答案以“'”结尾。请帮助...
注意:答案从同一行问题结束开始......然而,下一个问题从另一行开始。
答案 0 :(得分:0)
以读取模式打开源文件逐个读取每一行。
按"?"拆分每行数据。通过它你可以确定你的 问题已经结束。
现在您可以在一个文件中写问题,在其他文件中回答。
重复此操作,直至到达文件末尾
答案 1 :(得分:0)
更改相应的文件名并运行以下代码。
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
public class Test {
public static void main(String[] args) {
File rFile = new File("QuestAndAnsFile.txt");
BufferedReader in = null;
BufferedWriter questFileWriter = null;
BufferedWriter ansFileWriter = null;
try
{
in = new BufferedReader(new FileReader(rFile));
questFileWriter = new BufferedWriter(new FileWriter("questions.txt"));
ansFileWriter = new BufferedWriter(new FileWriter("answers.txt"));
while (in.ready())
{
String s = in.readLine();
if(s.endsWith("?"))
{
questFileWriter.write(s+"\n");
}
else
{
ansFileWriter.write(s+"\n");
}
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
finally
{
try{
if(in != null){ in.close(); }
if(questFileWriter != null) { questFileWriter.close();}
if(ansFileWriter != null) { ansFileWriter.close();}
}
catch(Exception ex){}
}
}
}
更新:
while (in.ready())
{
String s = in.readLine();
String[] qs = s.split("\\?");
if(qs.length == 2)
{
//Assume that all line should contains question and ans
questFileWriter.write(qs[0]+"\n");
ansFileWriter.write(qs[1]+"\n");
}
}