① 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());