欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断文件是否写入完毕

程序员文章站 2024-02-28 19:47:34
...

判断文件是否写入完毕
原创 2016年05月11日 15:29:51 标签:file /write /读写 /读写完毕 2971
在对文件进行读取,复制等操作前,往往需要去判断文件是否已经完全写入完毕,如果这个文件的写入操作是在你自己写的代码里,那么可以通过自己添加一些标志位来获取当前文件的写入状态,但是如果文件的写操作并非是你的代码去控制的,比如是系统dump hprof文件,那么应该怎么去判断hprof文件已经写入完毕呢?

下面的方式可以判断文件是否读写完毕,基本思想就是投机取巧的用了文件的长度,如果不再涨那么就判断写入完成了

[java] view plain copy
/**
* 等待文件(非目录)读写完毕,费时的操作,不要放在主线程
*
* @param file 文件
*/
private void waitForWirtenCompleted(File file) {
if (!file.exists())
return;
long old_length;
do {
old_length = file.length();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.i(“waitForWirtenCompleted: “, old_length + ” ” + file.length());

    } while (old_length != file.length());  
}