相关疑难解决方法(0)

如何在C#中使用迭代器反向读取文本文件

我需要处理一个大文件,大约400K行和200M.但有时我必须自下而上处理.我怎样才能在这里使用迭代器(yield return)?基本上我不喜欢在内存中加载所有内容.我知道在.NET中使用迭代器更有效.

.net c#

84
推荐指数
3
解决办法
5万
查看次数

按相反顺序逐行读取文件

我有一个java ee应用程序,我使用servlet打印用log4j创建的日志文件.在读取日志文件时,通常会查找最后一个日志行,因此如果以相反的顺序打印日志文件,则servlet会更有用.我的实际代码是:

    response.setContentType("text");
    PrintWriter out = response.getWriter();
    try {
        FileReader logReader = new FileReader("logfile.log");
        try {
            BufferedReader buffer = new BufferedReader(logReader);
            for (String line = buffer.readLine(); line != null; line = buffer.readLine()) {
                out.println(line);
            }
        } finally {
            logReader.close();
        }
    } finally {
        out.close();
    }
Run Code Online (Sandbox Code Playgroud)

我在互联网上找到的实现涉及使用StringBuffer并在打印之前加载所有文件,是不是有代码轻量级方式寻找到文件的末尾并读取内容直到文件的开头?

java text log4j file

28
推荐指数
2
解决办法
4万
查看次数

标签 统计

.net ×1

c# ×1

file ×1

java ×1

log4j ×1

text ×1