【发布时间】:2017-08-02 18:23:41
【问题描述】:
我正在尝试创建一个程序,该程序接受输入的文本文件并逐行读取。然后它需要将最近读取的行(行数取决于参数行)存储在一个数组中,然后我需要使用 PrintWriter 打印这些行。
我开始了第一部分,但我不确定我的想法是否正确。如果有人也可以在第二部分帮助我,那将不胜感激!
public void RecentLines(Reader in, Writer out, int lines) throws IOException {
BufferedReader r3ader = new BufferedReader(in);
String str;
while((str = r3ader.readLine()) != null){
String[] arr = str.split(" ");
for( int i =0; i < lines; i++){
arr[i] = r3ader.readLine();
}
}
编辑
完整的问题是这样的:
创建一个从 IN 读取行的程序,每次一行直到结束。您的方法必须维护一个内部缓冲区来存储最近读取的行(这可能最好使用数组来完成)。一旦该方法到达文件末尾,它应该将存储在内部缓冲区中的行打印出来,最好通过创建一个 PrintWriter 来装饰这个 Writer。 (除了您在开发阶段的调试目的,此方法不应向 System.out 打印任何内容。)
【问题讨论】:
-
为什么在while循环中使用for循环?只需使用一个循环来遍历输入文件
标签: java arrays buffer printwriter reader