import java.io.*
public class 逗敏URLConnectionDemo{
public static void main(String[] args)throws Exception{
URL url = new URL("http://www.scp.edu.cn/pantoschoolzz/BG/Bord/Message/DownloadMessageAttachment.aspx?ID=215")
URLConnection uc = url.openConnection()
String fileName = uc.getHeaderField(6)
fileName = URLDecoder.decode(fileName.substring(fileName.indexOf("filename=")+9),"UTF-8")
System.out.println("文件名为:"+fileName)
System.out.println("文件大小:"+(uc.getContentLength()/1024)+"KB")
String path = "D:"+File.separator+fileName
FileOutputStream os = new FileOutputStream(path)
InputStream is = uc.getInputStream()
byte[] b = new byte[1024]
int len = 0
察兄 while((len=is.read(b))!=-1){
os.write(b,0,len)
}
os.close()
is.close()
System.out.println("下载成功,文件保存在:"+path)
败指袭}
}
是的,JAVA上传芹告和下载的文件大小是可以不同的。上传的文件的最大文件大小完全取决于应用程序的处理,而下载的文件大小受到冲渗 JVM(Java虚拟机)的限制,如果嫌判明空间不够或者受到系统资源的限制,文件将无法下载。你使用urlConnection.getContentLength()) 试一下吧, 不是所有的服务器都给你长度信息, 你宴渣给的url就不支持。 一般说来不读完文件不知道长度。另外: 你可以 用in.available()获取本次读冲毕时缓冲区内晌判悄容的长度。HttpURLConnection urlConnection =
(HttpURLConnection)url.openConnection()
urlConnection.connect()
System.out.println(urlConnection.getContentLength())
System.out.println(urlConnection.getHeaderFields())
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)