美文网首页
RandomAccessFile:Too many open f

RandomAccessFile:Too many open f

作者: 南风nanfeng | 来源:发表于2019-01-31 17:59 被阅读7次

    笔者写了一段程序监控文件的最后一行数据确认是否写入完成。轮询多次后导致如下异常:

    java.io.FileNotFoundException: /data/sample/wu_1d0h7noerneo2gt1qav1kdhttc5.gz.out (Too many open files)
            at java.io.RandomAccessFile.open0(Native Method)
            at java.io.RandomAccessFile.open(RandomAccessFile.java:316)
            at java.io.RandomAccessFile.<init>(RandomAccessFile.java:243)
            at sw.melody.modules.docker.util.MoreLogUtil.getLastLine(MoreLogUtil.java:67)
            at sw.melody.modules.docker.util.MoreLogUtil.getLastLine(MoreLogUtil.java:100)
            at sw.melody.modules.docker.task.PollLogFileTask.run(PollLogFileTask.java:62)
    

    1.RandomAccessFile简介

    利用文件指针变量偏移来访问文件的任意位置,常常用在访问局部文件的内容,比如访问文件首行、末行等。

    这个类在很多资料上翻译成中文都是:随机访问文件,在中文里,随机是具有不确定的含义,指一会访问这里,一会访问那里的意思。如果以这种语义来解释的话,就会感到很困惑。其实,Random在英文中不仅仅有随机,还有任意的意思。任意表示我们可以指定文件中任何一个位置去操作一个文件。

    该类有几个重要的方法,除了read、write,还有seek用来设置读写的偏移量,close用来关闭任意读文件流、并且释放系统资源

    相关文章

      网友评论

          本文标题:RandomAccessFile:Too many open f

          本文链接:https://www.haomeiwen.com/subject/godurqtx.html