[英]How to read a file and write in 2 different files in java
我有一个包含问题和答案的大文件。 我想将问题放在一个文件中,然后在另一个文件中回答。确定问题是否结束/答案开始的唯一方法是“?”。 答案以“”结尾。 请帮助...
注意:答案始于同一行,问题结束。但是,下一个问题始于另一行。
在读取模式下打开源文件。逐行读取每一行。
用“?”分隔每行数据 通过它可以确定您的问题已结束。
现在,您可以在一个文件中写问题,在另一文件中写答案。
重复此操作,直到到达文件末尾
更改相应的文件名,然后运行以下代码。
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");
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.