我的计算机上保存了多行文件。在我的java程序中,我试图让用户输入字母或单词的字符串,然后让程序仅在字母或单词的字符串所在的位置打印出行。我知道我必须导入扫描仪类,但是如何打印出这些用户指定的行?
此外,这些文本行也已编号(1-20)。重新打印原始代码时,如何只输出文本字符并忽略整数?例如,代码的一行是“ 1.第一行代码的示例”
以下是我到目前为止的代码:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
public class BufferedReaderExample {
public static void main(String[] args) {
BufferedReader reader = null;
ArrayList <String> myFileLines = new ArrayList <String>();
try {
String sCurrentLine;
reader = new BufferedReader(new FileReader("/Users/wolftrek/Downloads/example.txt"));
while ((sCurrentLine = reader.readLine()) != null) {
myFileLines.add(sCurrentLine);
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
System.out.print(e.getMessage());
} finally {
try {
if (reader != null)reader.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
for (int i = 0; i < myFileLines.size(); i++) {
if (myFileLines.get(i).contains("example word")) {
System.out.println(myFileLines.get(i));
}
}
}
}