如果你使用的是eclipse,請檢查編譯是否禁止了非.class文件的編譯輸出,如果這項沒有問題。那麼 src/META-INF/*.* 文件自動輸出到 /WEB-INF/classes/META-INF/*.*。也就是說,最終資源文件在 WEB-INF/classes/META-INF/weibo.xml
使用JAVA 類獲取路徑:
Filef=newFile(getClass().getResource("/META-INF/weibo.xml").getPath());
獲取InputStream:
InputStreaminput=getClass().getResourceAsStream("/META-INF/weibo.xml");
另外,JAVA項目的標准協定(習慣)中的源代碼目錄結構是:
js">src
|--main
||--javaJAVA文件
||--resources資源文件
|--test
|--javaTESTJAVA文件
|--resourcesTEST資源文件
輸出的目錄結構是:
target
|--classesmain/java,main/resource輸出目錄
|--test-classestest/java,test/resources輸出目錄
Ⅱ java 根據文件獲取文件名及路徑的方法
在Java中,通過遍歷文件查找指定文件,可以使用遞歸方法。這里提供一個示例,展示如何獲取文件名及路徑。
首先定義一個類Test1,其中包含一個靜態的HashMap用於存儲文件名和路徑。在Test1類中,定義一個遞歸方法find,接受文件路徑作為參數。在find方法中,創建一個File對象,載入指定路徑下的文件列表。
遍歷文件列表,檢查每個文件是否為文件夾。如果是文件夾,則繼續向下查找文件;如果是文件,則記錄文件路徑和文件名,並將它們存儲在HashMap中。
在main方法中,指定需要遍歷的路徑,調用find方法查找文件,並輸出指定文件的路徑。
例如,假設要查找位於"D:\kpi\"路徑下的名為"kpi.9"的文件。在main方法中,調用find方法,傳入路徑"D:\kpi\"。然後使用filelist.get("kpi.9")獲取文件路徑,輸出結果為"d:\kpi\kpi.9"。
這種方法適用於文件路徑較長的情況,通過遞歸方式可以逐級查找,直到找到目標文件。這種方法可以靈活地應用於不同的文件查找場景,只需調整find方法中的條件判斷即可。
需要注意的是,在實際應用中,可能會遇到文件許可權問題。因此,在遍歷文件時,需要確保具有相應的讀取許可權。同時,建議對文件名和路徑進行適當的處理,如轉換為小寫,以避免大小寫不匹配的問題。
此外,還可以根據需要擴展此示例,例如添加異常處理代碼,以應對可能出現的I/O異常。通過這種方式,可以確保程序在遇到問題時能夠優雅地處理錯誤,提高程序的健壯性。
總之,通過遞歸方法遍歷文件查找指定文件是一種實用的技術,可以在Java項目中靈活運用。
Ⅲ java中獲取文件路徑的幾種方式
獲取當前類的所在工程路徑;如果未添加「/」,則代碼如下:
File f = new File(this.getClass().getResource("").getPath());
System.out.println(f);
執行結果為:C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin\com\test
獲取當前類的絕對路徑;第二種方法為:
File directory = new File("");//參數為空
String courseFile = directory.getCanonicalPath() ;
System.out.println(courseFile);
執行結果為:C:\Documents and Settings\Administrator\workspace\projectName
獲取當前類的所在工程路徑;第三種方法為:
URL xmlpath = this.getClass().getClassLoader().getResource("selected.txt");
System.out.println(xmlpath);
執行結果為:file:/C:/Documents%20and%20Settings/Administrator/workspace/projectName/bin/selected.txt
獲取當前工程src目錄下selected.txt文件的路徑;第四種方法為:
System.out.println(System.getProperty("user.dir"));
執行結果為:C:\Documents and Settings\Administrator\workspace\projectName
獲取當前工程路徑;第五種方法為:
System.out.println(System.getProperty("java.class.path"));
執行結果為:C:\Documents and Settings\Administrator\workspace\projectName\bin
以上介紹了五種獲取文件路徑的方法,每種方法都有其特點和適用場景。第一種方法適用於需要獲取類所在目錄的路徑,但結果包含bin文件夾;第二種方法適用於獲取文件系統中的絕對路徑;第三種方法適用於獲取類載入器資源的URL路徑,結果包含文件協議;第四種方法獲取當前工作目錄,即工程根目錄;第五種方法獲取類路徑,通常指向編譯後的類文件所在的目錄。
在實際開發中,根據具體需求選擇合適的方法。例如,如果需要獲取源代碼文件的路徑,可以使用第三種方法;如果需要獲取編譯後的類文件路徑,則使用第五種方法更為合適。
需要注意的是,路徑格式在Windows和Linux系統中可能存在差異,因此在跨平台項目中應謹慎使用這些方法。同時,建議在編寫代碼時考慮路徑的可讀性和安全性,避免硬編碼路徑。
在處理文件路徑時,務必考慮文件系統的限制和特殊字元,確保路徑的正確性和兼容性。此外,對於敏感文件和目錄,應採取適當的訪問控制措施,以防止意外訪問或修改。
Ⅳ java或js(可用jquery)如何獲取上傳文件原始路徑名
上傳文件時,我想獲取客戶端上傳文件的原始路徑。第一考慮,當然是使用js,例如網上可以找到的: function getPath(obj) { if (obj) { if (window.navigator.userAgent.indexOf("MSIE") >= 1) { obj.select(); return document.selection.createRange().text; } else if (window.navigator.userAgent.indexOf("Firefox") >= 1) { if (obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } 但這樣的代碼在Ie下還是可行的,但在火狐下不兼容。所以又想通過servlet的第三方工具去做,例如FileUpload,本以為FileItem下的getName()方法能夠得到全路徑名,但結果仍然只得到文件名,很是杯具!求解決方法!? 引用<input type="file" name="file" />至於你說的,不明白你的意思關鍵問題是我要獲得這個路徑,並且傳遞到後台!用js會有兼容性問題,如果用FileUpload上傳,是否可以獲得呢?我是沒有得到的!!! 問題補充:zhanjia 寫道上傳文件一般用input標簽,type為file,瀏覽選擇文件後就是文件在本地的絕對路徑了 引用<input type="file" name="file" />至於你說的,不明白你的意思關鍵的問題是我要獲得這個本地路徑,並且傳到後台!用js可以得到,但存在兼容性問題!?如果用FileUpload呢?我暫時還沒有得到!!! 問題補充:zhanjia 寫道網上的一些解決方案: 一般都是上傳以後在資料庫中保存上傳後的文件路徑,本地路徑一般沒意義 除非像上面所說的文件上傳預覽,還有那麼點用處 我用來做數據介面的,我僅僅是把路徑傳給另一個系統,然後那個系統就可以從這個路徑取文件了。如果先上傳一次,再給對方,這樣不但影響上傳速度,而且會產生大量的垃圾文件。
Ⅳ java 根據文件獲取文件名及路徑的方法
通過File類獲取文件,然後通過以下兩種方法獲取絕對路徑和名稱。返回類型為String
獲取絕對路徑:file.getAbsolutePath()
獲取名稱: file.getName()
Ⅵ java上傳下載的文件放在哪
java上傳文件保存至達夢資料庫1、創建需要的表格,包括文件名、文件類型、文件內容和上傳時間等欄位。
2、在Java項目中引入相關的資料庫驅動程序,以實現與達夢資料庫的連接。
3、創建一個包含文件上傳表單的HTML頁面,並且在後端使用Java代碼接收上傳的文件。
4、將上傳的文件轉換為二進制流,並將其插入到資料庫中。
java文件應該放在哪裡求大神幫助JAVA文件放在src文件夾內,class放在WebRootWEB-INFclasses內。tomcat要自己下載添加。
在java程序中上傳的文件保存在哪裡這個問題問的比較詭異我能告訴你的是
上傳和下載的路徑都是你自己定義的文件上傳的道理就是讀流
然後把文件保存到你指定的路徑下面去一般這樣做資料庫設計個欄位
是你保存的路徑肯定是你伺服器中某個文件夾中
下載就是讀路徑
加些固定的下載代碼.
JAVA的文件夾在哪。。。。步步高I508的手機。。您好!下載後的JAVA資源安裝使用方法:
①將下載後的壓縮文件解壓為jar格式文件;
②拷貝到手機或T卡任意位置;
③然後在JAVA樂園中選擇「查找JAVA應用」菜單,選擇所需資源進行安裝;
④安裝好後即可在「JAVA應用」菜單中使用。
JavaWeb項目實現上傳文件以及下載文件功能的關於路徑的問題
你這個項目用的maven來管理包和依賴的,但你不用太在意這個maven的目錄結構啊.你做上傳的時候應該把文件放到個單獨的位置而不是放到src目錄裡面,因為這個src目錄部署後是要拷到WEB-INF下面的classes目錄的,如果確實需要這樣做,那你就在寫上傳代碼的時候把文件拷到target目錄中
java中怎麼把文件上傳到伺服器的指定路徑?文件從本地到伺服器的功能,其實是為了解決目前瀏覽器不支持獲取本地文件全路徑。不得已而想到上傳到伺服器的固定目錄,從而方便項目獲取文件,進而使程序支持EXCEL批量導入數據。
java中文件上傳到伺服器的指定路徑的代碼:
在前台界面中輸入:
formmethod="post"enctype="multipart/form-data"?action="../manage/excelImport.do"
請選文件:inputtype="file"?name="excelFile"
inputtype="submit"value="導入"onclick="returnimpExcel();"/
/form
action中獲取前台傳來數據並保存
/**
*excel導入文件
*@return
*@throwsIOException
*/
@RequestMapping("/usermanager/excelImport.do")
publicStringexcelImport(
StringfilePath,
MultipartFile?excelFile,HttpServletRequestrequest)throwsIOException{
log.info("action:{}Method:{}start","usermanager","excelImport");
if(excelFile!=null){
Stringfilename=excelFile.getOriginalFilename();
Stringa=request.getRealPath("u/cms/www/201509");
SaveFileFromInputStream(excelFile.getInputStream(),request.getRealPath("u/cms/www/201509"),filename);//保存到伺服器的路徑
}
log.info("action:{}Method:{}end","usermanager","excelImport");
return"";
}
/**
*將MultipartFile轉化為file並保存到伺服器上的某地
*/
(InputStreamstream,Stringpath,Stringsavefile)throwsIOException
{??
FileOutputStreamfs=newFileOutputStream(path+"/"+savefile);
System.out.println("------------"+path+"/"+savefile);
byte[]buffer=newbyte[1024*1024];
intbytesum=0;
intbyteread=0;
while((byteread=stream.read(buffer))!=-1)
{
bytesum+=byteread;
fs.write(buffer,0,byteread);
fs.flush();
}
fs.close();
stream.close();
}