如何使用Java下载部分文件?

如何使用Java下载部分文件?,java,download,urlconnection,Java,Download,Urlconnection,我正在使用以下Java代码从Internet下载一个文件: String address = "http://melody.syr.edu/pzhang/publications/AMCIS99_vonDran_Zhang.pdf"; URL url = new URL(address); System.out.println("Opening connection to " + address + "..."); URLConnection urlC = url.openConnection(

我正在使用以下Java代码从Internet下载一个文件:

String address = "http://melody.syr.edu/pzhang/publications/AMCIS99_vonDran_Zhang.pdf";
URL url = new URL(address);
System.out.println("Opening connection to " + address + "...");
URLConnection urlC = url.openConnection();
urlC.setRequestProperty("User-Agent", "");
urlC.connect();
InputStream is = urlC.getInputStream();
FileOutputStream fos = null;
fos = new FileOutputStream("myFileName");
int oneChar, count = 0;
while ((oneChar = is.read()) != -1) {
    System.out.print((char)oneChar);
    fos.write(oneChar);
    count++;
}
is.close();
fos.close();
System.out.println(count + " byte(s) copied");
我想知道是否有办法让我只下载文件的一部分。 例如,对于5MB文件下载最后2MB。

请查看如果服务器支持它(HTTP 1.1服务器应该支持),您可以使用范围请求:

而且,一次读取一个字符的效率非常低——您应该以块的形式读取,比如4、16或32KB