当前位置: 首页 > 知识库问答 >
问题:

输出22行以前读过的内容-Java

祁星阑
2023-03-14

我正在尝试从一个文件中读取,当一个空白行被读取时,它将输出在空白行之前22行的行。例如,如果程序读取所有行在第44行的第一个空白行,那么它将打印第22行。

目前,我使用它来读取输入并将其存储到arrayList中,然后输出。我想知道做这件事最有效的方法是什么?我还试图确保每次存储的行数不超过23行。arraylist是不是合适的数据结构?

public static void test(BufferedReader r, PrintWriter w) throws IOException {

    ArrayList<String> s = new ArrayList<String>();

    String line;
    int n = 0;
    while ((line = r.readLine()) != null) {
        s.add(line);
        n++;
    }
    Iterator<String> i = s.iterator();
    while (i.hasNext()) {
        w.println(i.next());
    }
}

共有1个答案

焦光霁
2023-03-14

您可以使用大小为22的简单String[]并执行插入和模22的“Get”。
您的代码应该如下所示:

public static void test(BufferedReader r, PrintWriter w) throws IOException {

    String[] prev22 = new String[22];
    String line;
    int n = 0;
    while ((line = r.readLine()) != null) {
        prev22[n % 22] = line;
        if(line.trim() == null){
            w.println(prev22[n-22 % 22]);
        }
        else{
            w.println(line);
        }
        n++;
    }
}
 类似资料:
  • 本文向大家介绍python实现将内容分行输出,包括了python实现将内容分行输出的使用技巧和注意事项,需要的朋友参考一下 #python版一行内容分行输出   再给大家一个读取文件内容并分行输出的方法 好了,小伙伴们自己好好研究下吧,很有意思。

  • string fetch(string template [, string cache_id [, string compile_id]]) This returns the template output instead of displaying it. Supply a valid template resource type and path. As an optional second

  • 本文向大家介绍django输出html内容的实例,包括了django输出html内容的实例的使用技巧和注意事项,需要的朋友参考一下 最近在学习django,于是就用django做了一个简单的网站,用来练手,具体功能就是从网上抓取数据,然后放到我的网站上面,但是遇到一个问题就是django无法输出html格式的内容,只能以字符串的形式输出: 我们目的是输出的是: 但是结果输出的是: 在网上搜了好久,

  • 问题内容: 我已经在Java网络服务器(实际上是appengine)中创建了一个过滤器,用于记录传入请求的参数。我还想记录我的网络服务器写入的结果响应。尽管我可以访问响应对象,但是我不确定如何从中获取实际的字符串/内容响应。 有任何想法吗? 问题答案: 你需要创建一个,在其中用自定义实现包装参数,在其中覆盖和并返回一个自定义实现,在该实现中你将写入的字节复制到基本抽象方法中。然后,你将包装的自定义

  • 问题内容: 我正在调用在控制台/标准输出中打印一些字符串的函数。我需要捕获此字符串。我无法修改执行打印的功能,也无法通过继承更改运行时行为。我找不到任何允许我执行此操作的预定义方法。 JVM是否存储打印内容的缓冲区? 有谁知道可以帮助我的Java方法吗? 问题答案: 您可以使用写入字符串缓冲区的流临时替换System.err或System.out。

  • 本文向大家介绍HTML5如何识别语音读出的内容和朗读指定的内容?相关面试题,主要包含被问及HTML5如何识别语音读出的内容和朗读指定的内容?时的应答技巧和注意事项,需要的朋友参考一下 https://helloforrestworld.github.io/javascriptLab/%E8%AF%AD%E9%9F%B3%E9%98%85%E8%AF%BB%E5%99%A8/index.html 之