所以我有代码
public void reply(){
String fileName = "readLog.txt";
String line = null;
try {
FileReader fileReader =
new FileReader(fileName);
BufferedReader bufferedReader =
new BufferedReader(fileReader);
while((line = bufferedReader.readLine()) != null) {
Output.append(line);//output is name of textarea
}
bufferedReader.close();
}
catch(FileNotFoundException ex) {
System.out.println(
"Unable to open file '" +
fileName + "'");
}
catch(IOException ex) {
System.out.println(
"Error reading file '"
+ fileName + "'");
}
}
它会读出文本文件中的内容,但我希望它能够阅读 说第1行,在第1行我会有类似的东西:
问题 - 答案
我想要它所以它可以将线放在正确的位置,例如
if(“Input”==“A Question”){somethinghappends(); }
我知道不是如何用字符串设置if语句只是一个例子。
我该怎么做呢? (香港专业教育学院环顾互联网并没有找到太多用途)
答案 0 :(得分:2)
如果您的格式为:
一个问题 - 答案,
您可以执行以下操作:
String[] parts = line.split(" - ");
String question = parts[0];
String answer = parts[1];
考虑破折号是分隔符。这个是在循环中读取每一行。
答案 1 :(得分:1)
您可以使用String.split():
while((line = bufferedReader.readLine()) != null) {
String[] parts = line.split("-");
if (parts.length >= 2 && parts[0].trim().equals(parts[1].trim())) {
doSomethingHere();
}
}
我还使用String.trim()删除问题周围的前导和尾随空格以及答案之前的答案。
答案 2 :(得分:1)
所以你有一个问题String,想在readLog中找到合适的答案。
最好的方法是将答案分成“ - ”。 (一个更好的分隔符将是“\ t”,因为“ - ”也可以是问题/答案的一部分。)
String q="question";
String qa="question - answer";
String[] split = qa.split(" - ");
if(split[0].equals(q)){
do something;
}
答案 3 :(得分:0)
您可以使用bufferedreader.readline()
方法从流中读取,直到找到所需的行。获取数据和流程。您可以使用equals()
方法进行比较。您最终可以使用split()
分配字符串并将其存储在数组中。