判断文件是否写入完毕

来源:互联网 发布:excel数据提取工具 编辑:程序博客网 时间:2024/05/22 12:38

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

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

/**     * 等待文件(非目录)读写完毕,费时的操作,不要放在主线程     *     * @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());    }


0 0
原创粉丝点击