Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中大文件的下载状态_Java_File_Download_Status - Fatal编程技术网

Java中大文件的下载状态

Java中大文件的下载状态,java,file,download,status,Java,File,Download,Status,当一个大文件到达服务器时,完成下载需要几分钟的时间。在此期间,我不想阅读文件内容。我想知道下载的状态,即下载是否完成。只有在成功完成下载后,我才想阅读该文件。我已经写了这个方法,但它不起作用。请帮忙。 如果您知道文件大小,您可以随时比较差异并将结果转换为进度或剩余百分比。多部分文件的参数为文件大小。可以通过java.nio.EventHander包复制另一个文件。试图找到解决办法。 // checking downloading completed or not private boolean

当一个大文件到达服务器时,完成下载需要几分钟的时间。在此期间,我不想阅读文件内容。我想知道下载的状态,即下载是否完成。只有在成功完成下载后,我才想阅读该文件。我已经写了这个方法,但它不起作用。请帮忙。


如果您知道文件大小,您可以随时比较差异并将结果转换为进度或剩余百分比。多部分文件的参数为文件大小。可以通过java.nio.EventHander包复制另一个文件。试图找到解决办法。
// checking downloading completed or not
private boolean saveFile(String fileName, URL download)
static String fileName = "Teleradiology Demonstration-20130909 1233-1.mp4";
File myFile=new File("E:/dicom_server_storage"); // reading directory

//  File myFile = new File("C:/Users/Subhojit/AppData/Roaming/Skype/My Skype Received Files");

URL download = myFile.toURI().toURL();
{
    try
    {  
// String saveTo = System.getProperty("user.dir") + "\\dicom_server_storage";
        String saveTo = "E:\\"; // save location

        ReadableByteChannel rbc = Channels.newChannel(download.openStream());

        FileOutputStream fos = new FileOutputStream(saveTo + fileName);

        fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);

        fos.close();
        System.out.println("File download successfully completed.");
        return true;
    }
    catch (FileNotFoundException e)
    {
        e.printStackTrace();
    }
    catch (MalformedURLException e)
    {
        e.printStackTrace();
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    return false;
    }