java判断文件是否正在写入
来源:互联网 发布:电脑网络重置命令 编辑:程序博客网 时间:2024/06/15 23:26
Flink
批处理时,遇到一个场景:flink在分析日志文件时,如果日志文件已经存在,flink则会正确读取并分析日志文件。这里问什么说正确读取呢?假设,日志文件很大,大到100M,在慢网络情况下,将日志文件发送到slave节点分析,那么,是不是会存在这么一种情况,文件还在传输,而flink程序却已发现有新日志文件,并将其转移到了工作目录进行下一步分析。那结果是不是,程序正在分析的文件,只是部分日志文件,得到的结果,也只是一部分,不准确的结果呢?所以这种情况下就需要知道,该文件是不是正在传输中,如果不是,则拿走分析,如果是,则继续等待传输结束。下面的方法,则是过一定时间,去检查一下,文件是否有新内容写入,在正常网络下,写入状态是不间断的,如果当前文件内容长度与上一次检查的文件长度一样,并没有改变,则判断该文件已传输完成。方法如下,仅供借鉴。当然还有其他方法可行,仁者见仁,智者见智了。
public static boolean checkFileWritingOn(String fileName) throws Exception{ long oldLen = 0; long newLen = 0; File file = new File(fileName); while(true){ newLen = file.length(); if ((newLen - oldLen) > 0) { oldLen = newLen; System.out.println(file.length()); Thread.sleep(10000); } else { System.out.println("done"); return true; } }}
阅读全文
0 0
- java判断文件是否正在写入
- 判断文件是否正在使用
- 判断文件是否写入完毕
- C# 判断文件是否正在被使用
- 判断一个文件是否正在被使用
- 判断文件是否正在被使用
- Delphi判断文件是否正在被使用
- Delphi判断文件是否正在被使用
- 判断一个文件是否正在被使用
- C# 判断文件是否正在被使用
- 判断一个文件是否正在被使用
- Delphi判断文件是否正在被使用
- Delphi判断文件是否正在被使用
- Delphi判断文件是否正在被使用
- Delphi判断文件是否正在被使用
- python判断文件是否存在,是否为空,然后写入
- 判断Exe文件是否正在运行的函数
- C# 判断一个文件是否正在被使用。
- java 从文件末尾开始读取文件内容
- 四种常见的POST提交数据方式
- 数据结构--字符串
- kafka
- 有关数学 模板(持续更新)
- java判断文件是否正在写入
- Bootcamp partitioning error in macOS 10.13
- 离散数学
- 杨辉三角和魔方阵的实现(12.14学习总结)
- 初始HDFS
- 43 Three.js自定义二维图形THREE.ShapeGeometry
- Redis学习之hash类型及操作
- Struts2_效验
- Django-Settings-MySQL配置项解读