① java 获得http下载文件的真实名称
有两种获取链接文件名的方法:
第一种:从连接URL,从描述中获取
比如这种地址:
http://book.booktxt.com/txtbuk/20130421/xuanhuan/2013043601180.rar
② Java 把一个URL中的数据保存成本地文件,文件名为本机当前的系统时间
publicstaticStringdownloadLog(StringloadUrl,StringfileName)throwsException{
URLurl=newURL(loadUrl);
HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
conn.setConnectTimeout(50*1000);
conn.setRequestProperty("User-Agent",
"Mozilla/4.0(compatible;MSIE5.0;WindowsNT;DigExt)");
InputStreaminputStream=null;
FileOutputStreamfos=null;
inputStream=conn.getInputStream();
//路径目录
FilesaveDir=newFile("D://test");
if(!saveDir.exists()){
saveDir.mkdirs();
}
Filefile=newFile(saveDir+File.separator+fileName);
fos=newFileOutputStream(file);
readInputStream(fos,inputStream);
returnfile.toString();
}
/**
*用流把数据写到本地文件上
*
*@paraminputStream
*@return
*@throwsException
*@throwsIOException
*/
(FileOutputStreamfos,
InputStreaminputStream)throwsException{
byte[]buffer=newbyte[1024];
intlen=0;
try{
while((len=inputStream.read(buffer))!=-1){
fos.write(buffer,0,len);
}
fos.flush();
}catch(Exceptione){
logger.error("readInputStream文件可能太大导致");
thrownewException(e);
}finally{
try{
fos.close();
inputStream.close();
}catch(IOExceptione){
}
}
}
③ Java中可以使用URL定位到本地的某个文件吗
可以的,直接通过URL类实现即可。
举例:URL fileUrl = new URL("file:///E:/tmp/test.txt");
备注:引入的是“java.net.URL“类。
④ java中url和uir有什么区别
URI是URL的一个抽象,它不仅包括了统一资源定位符(URL),还包括了统一资源名(URN).大多数实际应用中使用的URI都是URL,但是许多规范和标准像XML都是用URI来定义的.在java1.4和更新的版本中, URI被java.net.URI 类所表示.这个类与java.net.URL 相比有如下3点重要的区别:
· URI 类只关心资源的标识和对URI的解析.它没有方法来检索它的URI所标识的资源。
· URI 类与URL 类相比,它更能适应相关的规范。
· 一个URI 对象能表示一个相对URI 。URL 类在存放之前,就已经对所有的URI进行了“绝对化”的处理。
看着是不是有点晕?
简单的这么理解吧,URL是统一资源定位符,URI是统一资源标识符,URL是URI的一种,但在Java里面不是一种类型,两个类也没有继承关系,但各自提供了toURL()和toURI()来相互转换,在需要的时候放上相应的类型。
⑤ Java 怎么通过URL引用得到真正的文件名
//如果得到项目中的文件路径统一资源定位符通过文件名获取文件的绝对路径
URLurl=Prop2.class.getResource("/a.properties");//importjava.net.URL;
System.out.println(url.getPath());