1. java中如何得到文件路徑
java文件中獲得路徑
Thread.currentThread().getContextClassLoader().getResource("") //獲得資源文件(.class文件)所在路徑
ClassLoader.getSystemResource("")
Class_Name.class.getClassLoader().getResource("")
Class_Name.class .getResource("/")
Class_Name.class .getResource("") // 獲得當前類所在路徑
System.getProperty("user.dir") // 獲得項目根目錄的絕對路徑
System.getProperty("java.class.path") //得到類路徑和包路徑
列印輸出依次如下:
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/
file:/F:/work_litao/uri_test/WebContent/WEB-INF/classes/com/xml/imp/
F:\work_litao\uri_test
F:\work_litao\uri_test\WebContent\WEB-INF\classes;F:\work_litao\uri_test\WebContent\WEB-INF\lib\dom4j.jar
2. java怎樣獲取當前目錄路徑
很多朋友都想知道java如何獲取當前目錄路徑?下面就一起來了解一下吧~
1、利用System.getProperty()函數獲取當前路徑:
System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑
2、使用File提供的函數獲取當前路徑:
File directory = new File("");//設定為當前文件夾 try{ System.out.println(directory.getCanonicalPath());//獲取標準的路徑 System.out.println(directory.getAbsolutePath());//獲取絕對路徑 }catch(Exceptin e){} File.getCanonicalPath()和File.getAbsolutePath()大約只是對於new File(".")和new File("..")兩種路徑有所區別。 # 對於getCanonicalPath()函數,「."就表示當前的戚物尺文件夾,而」..「則表示當前文件夾的上一級文件夾 # 對於getAbsolutePath()函數,則不管」.」、「..」,返回當前的路徑加上你在new File()時設定的路徑 # 至於getPath()函數,得到的只是你在new File()時設定的路徑高高 比如當前的路徑為 C:/test : File directory = new File("abc"); directory.getCanonicalPath(); //得螞友到的是C:/test/abc directory.getAbsolutePath(); //得到的是C:/test/abc direcotry.getPath(); //得到的是abc File directory = new File("."); directory.getCanonicalPath(); //得到的是C:/test directory.getAbsolutePath(); //得到的是C:/test/. direcotry.getPath(); //得到的是. File directory = new File(".."); directory.getCanonicalPath(); //得到的是C:/ directory.getAbsolutePath(); //得到的是C:/test/.. direcotry.getPath(); //得到的是.. 另外:System.getProperty()中的字元串參數如下: System.getProperty()參數大全 # java.version Java Runtime Environment version # java.vendor Java Runtime Environment vendor # java.vendor.url Java vendor URL # java.home Java installation directory # java.vm.specification.version Java Virtual Machine specification version # java.vm.specification.vendor Java Virtual Machine specification vendor # java.vm.specification.name Java Virtual Machine specification name # java.vm.version Java Virtual Machine implementation version # java.vm.vendor Java Virtual Machine implementation vendor # java.vm.name Java Virtual Machine implementation name # java.specification.version Java Runtime Environment specification version # java.specification.vendor Java Runtime Environment specification vendor # java.specification.name Java Runtime Environment specification name # java.class.version Java class format version number # java.class.path Java class path # java.library.path List of paths to search when loading libraries # java.io.tmpdir Default temp file path # java.compiler Name of JIT compiler to use # java.ext.dirs Path of extension directory or directories # os.name Operating system name # os.arch Operating system architecture # os.version Operating system version # file.separator File separator ("/" on UNIX) # path.separator Path separator (":" on UNIX) # line.separator Line separator ("/n" on UNIX) # user.name User』s account name # user.home User』s home directory # user.dir User』s current working directory
JAVA中獲取路徑 關鍵字: java中獲取路徑
1、jsp中取得路徑:
以工程名為TEST為例:
(1)得到包含工程名的當前頁面全路徑:request.getRequestURI() 結果:/TEST/test.jsp (2)得到工程名:request.getContextPath() 結果:/TEST (3)得到當前頁面所在目錄下全名稱:request.getServletPath() 結果:如果頁面在jsp目錄下 /TEST/jsp/test.jsp (4)得到頁面所在伺服器的全路徑:application.getRealPath("頁面.jsp") 結果:D:/resin/webapps/TEST/test.jsp (5)得到頁面所在伺服器的絕對路徑:absPath=new java.io.File(application.getRealPath(request.getRequestURI())).getParent(); 結果:D:/resin/webapps/TEST
2、在類中取得路徑: (1)類的絕對路徑:Class.class.getClass().getResource("/").getPath() 結果:/D:/TEST/WebRoot/WEB-INF/classes/pack/ (2)得到工程的路徑:System.getProperty("user.dir") 結果:D:/TEST
3. 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獲取當前工程路徑
4. java 根據文件獲取文件名及路徑的方法
我寫了一段遍歷某個文件查找指定文件的,你自己改成你需要的功能。
import java.io.File;
import java.util.HashMap;
public class Test1 {
static HashMap<String, String> filelist=new HashMap<String, String>();
/**
* 遞歸方法
* @param path 文件路徑
*/
public static void find(String path){
File file=new File(path);
File[] files = file.listFiles();
//如果文件數組為null則返回
if (files == null)
return;
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
//判斷是不是文件夾,如果是文件夾則繼續向下查找文件
find(files[i].getAbsolutePath());
} else {
//記錄文件路徑
String filePath = files[i].getAbsolutePath().toLowerCase();
//記錄文件名
String fileName=files[i].getName().toLowerCase();
// System.out.println("---"+strFileName);
filelist.put(fileName, filePath);
}
}
}
public static void main(String[] args) {
//需要遍歷的路徑,也就是你要查找文件所在的路徑
String path="D:\\kpi\\";
find(path);
System.out.println("kpi.9的路徑:"+filelist.get("kpi.9"));
//輸出結果:d:\kpi\kpi.9
}
}
5. 如何獲得當前Java文件的路徑
1、利用System.getProperty()函數獲取當前路徑:
System.out.println(System.getProperty("user.dir"));//user.dir指定了當前的路徑
2、使用File提供的函數獲取當前路徑:
File directory = new File("");//設定為當前文件夾
try{
System.out.println(directory.getCanonicalPath());//獲取標準的路徑
System.out.println(directory.getAbsolutePath());//獲取絕對路徑
}catch(Exceptin e){}
File.getCanonicalPath()和File.getAbsolutePath()大約只是對於new File(".")和new
File("..")兩種路徑有所區別。
# 對於getCanonicalPath()函數,「."就表示當前的文件夾,而」..「則表示當前文件夾的上一級文件夾
# 對於getAbsolutePath()函數,則不管」.」、「..」,返回當前的路徑加上你在new File()時設定的路徑
# 至於getPath()函數,得到的只是你在new File()時設定的路徑
Java基礎知識教程:
6. java中File類中getAbsolutePath()獲取路徑方法和線程的getPath()獲取路徑的方法有什麼區別
一個是絕對路徑,一個乎手亂是相對路徑
比如說你現在在薯臘c:/a/b/下面 有個x.txt
new File("x.txt").getPath()有可能得歲檔到x.txt
getAbsolutePath得到c:/a/b/x.txt
7. Java怎樣獲取一個文件的絕對路徑
FileDialog fileDialog = new FileDialog(this, "慧和冊選擇文件"棚戚, FileDialog.LOAD);
fileDialog.setVisible(true);
filePath = fileDialog.getDirectory();//獲取文件前宏的路徑
text.setTex(filePath)
8. java html file 獲得file文件本地路徑 要簡單點的方法
找URL
關於絕對路徑和相對路徑:
絕對路徑就是你的主頁上的文件或目錄在硬扮橡模盤上真正的路徑,(URL和物理路徑)例如:C:xyz est.txt 代表了test.txt文件的絕對路徑。http://www.sun.com/index.htm也代如毀表了一個URL絕對路徑。相對路徑:相對與某個基準目錄的路徑。包含Web的相對路徑(HTML中的相對目錄),例如:在Servlet中,"/"代表Web應用的跟目錄。和物理路徑的相對表示。例如:"./" 代表當前目錄,"../"代表上級目錄。這廳緩種類似的表示,也是屬於相對路徑。另外關於URI,URL,URN等內容,請參考RFC相關文檔標准。RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax,(http://www.ietf.org/rfc/rfc2396.txt)2.關於JSP/Servlet中的相對路徑和絕對路徑。2.1伺服器端的地址伺服器端的相對地址指的是相對於你的web應用的地址,這個地址是在伺服器端解析的(不同於html和javascript中的相對地址,他們是由客戶端瀏覽器解析的)
第一種:
File f = new File(this.getClass().getResource("/").getPath());
System.out.println(f);
結果:
C:\Documents%20and%20Settings\Administrator\workspace\projectName\bin
獲取當前類的所在工程路徑;
如果不加「/」
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
獲取當前工程路徑
9. Java實現獲取指定路徑下的指定格式的文件
獲取指定路徑下的指定格式的文件
package filenameFilter;
import java io File;
/* * 實現功能 *
獲取指定路徑下的指定格式的文件
* */
public class Test {
public static void listPath(File file) {
// 接收篩選過後的文件對象數組
//用文件對象調用listFiles(FilenameFilter filter) 方法
//返回抽象路徑名數組 這些路徑名表示此抽象路徑名表示的目錄中滿足指定過濾器的文件和目錄
File files[] = file listFiles(new MyFilenameFilter())
/*//遍歷出指定文件路徑下符合條件的文件
for (File f : files) {
System out println(f)
}*/
//遍歷出指定文件路徑下的所有符合篩選條件的文件
for(File f: files){
if(f isDirectory()){
listPath(f)
}else{
System out println(f)
}
}
}
public static void main(String[] args) {
// 創建指定目錄的文件對象
File file = new File( F:\test )
// 調用文件曬篩選的方法 並將文件對象出入
listPath(file)
} }
package filenameFilter;
import java io File;
import java io FilenameFilter;
//實現FilenameFilter介面 可用於笑答過濾器文件名 //本方法實現的岩判是篩選指定格式結尾的文件 public class MyFilenameFilter implements FilenameFilter {
/**
* @param args
*
*
實現功能 實現FilenameFilter介面 定義出指定的文件篩選器
*
*/
@Override
//重寫accept方法 測試指定文件是否應該包含在某一文件列表中
public boolean accept(File dir String name) {
// TODO Auto generated method stub
// 創建返回值
boolean flag = true;
// 定粗升改義篩選條件
//endWith(String str) 判斷是否是以指定格式結尾的
if (name toLowerCase() endsWith( jpg )) {
} else if (name toLowerCase() endsWith( txt )) {
} else if (name toLowerCase() endsWith( gif )) {
} else {
flag = false;
}
// 返回定義的返回值
//當返回true時 表示傳入的文件滿足條件
return flag;
}
lishixin/Article/program/Java/hx/201311/26918
10. java怎樣獲取上傳文件真實路徑
可以通過changeWorkingDirectory方法切換上傳路徑來進行文件上傳。
上傳方法舉例:
/**
* 上傳文件
*
* @param fileName
* @param plainFilePath 文件路徑路徑
* @param filepath
* @return
* @throws Exception
*/
public static String fileUploadByFtp(String plainFilePath, String fileName, String filepath) throws Exception {
FileInputStream fis = null;
ByteArrayOutputStream bos = null;
FTPClient ftpClient = new FTPClient();
String bl = "false";
try {
fis = new FileInputStream(plainFilePath);
bos = new ByteArrayOutputStream(fis.available());
byte[] buffer = new byte[1024];
int count = 0;
while ((count = fis.read(buffer)) != -1) {
bos.write(buffer, 0, count);
}
bos.flush();
Log.info("加密上傳文件開始");
Log.info("連接遠程上傳伺服器"+CCFCCBUtil.CCFCCBHOSTNAME+":"+22);
ftpClient.connect(CCFCCBUtil.CCFCCBHOSTNAME, 22);
ftpClient.login(CCFCCBUtil.CCFCCBLOGINNAME, CCFCCBUtil.CCFCCBLOGINPASSWORD);
FTPFile[] fs;
fs = ftpClient.listFiles();
for (FTPFile ff : fs) {
if (ff.getName().equals(filepath)) {
bl="true";
ftpClient.changeWorkingDirectory("/"+filepath+"");
}
}
Log.info("檢查文件路徑是否存在:/"+filepath);
if("false".equals(bl)){
ViewUtil.dataSEErrorPerformedCommon( "查詢文件路徑不存在:"+"/"+filepath);
return bl;
}
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("GBK");
// 設置文件類型(二進制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
ftpClient.storeFile(fileName, fis);
Log.info("上傳文件成功:"+fileName+"。文件保存路徑:"+"/"+filepath+"/");
return bl;
} catch (Exception e) {
throw e;
} finally {
if (fis != null) {
try {
fis.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
if (bos != null) {
try {
bos.close();
} catch (Exception e) {
Log.info(e.getLocalizedMessage(), e);
}
}
}
}
備註:只需要修改上傳的伺服器地址、用戶名、密碼即可進行伺服器訪問上傳。根據實際需要修改即可。