我想使用java读取文件(我知道java IO utils可以完成所需的操作),但问题是:我要访问的文件必须从远程计算机下载。那么我如何知道文件下载已完成或仍在继续? 我用的是linux盒子。 java中有没有办法检查下载完成状态?
提前致谢
最佳答案
我用它来检查正在复制的文件是否已完成的状态。也许这对你也有帮助。如果我错了请纠正我。
- 获取文件大小
- 等待一段时间(例如 1 秒)
- 检查文件大小
- 如果当前正在下载文件,则新大小将大于之前的大小;因此,请重复步骤 1、2、3,直到获得准确的尺寸。
代码示例
// sourceFile is the downloading file
if (sourceFile.exists()) {
try {
long size = sourceFile.length();
Thread.sleep(1000);
long newSize = sourceFile.length();
if (size < newSize) {
while (size < newSize) {
System.out.println("downloading...");
size = sourceFile.length();
Thread.sleep(1000);
newSize = sourceFile.length();
}
}
System.out.println("File Downloaded");
System.out.println("Size: " + newSize);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
关于java-io - 我想使用Java获取文件的下载状态,java中有什么方法可以做到这一点吗?请阅读完整说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15293850/