A. 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
B. java判斷文件是文件夾還是文件
//判斷是文件還是文件夾
public static void fileBox(){
File f = new File("f:"+File.separator+"1.txt"); //f:\1.txt
System.out.println(File.separator);
if(f.isDirectory())
System.out.println("路徑是目錄");//如果是文件夾(Midir)
else
System.out.println("路徑不是目錄"); //不是文件夾
}
C. java中如何獲取目錄中的所有文件
public static void list(File path, String[] extArr,HashMap hm) {
if (!path.exists()) {
System.out.println("文件名稱不存在!");
} else {
if (path.isFile()) {
for (int i = 0; i < extArr.length; i++) {
if (path.getName().toLowerCase().endsWith(extArr[i])) {// 文件格式
hm.put(path.getName(), path);
}
}
} else {
File[] files = path.listFiles();
for (int i = 0; i < files.length; i++) {
list(files[i], extArr,hm);
}
}
}
}
D. 用Java在當前項目文件夾中創建一個文件
具體的創建方法參照下面的實例:
public class FileTest {
public static void main(String[] args) {
// 根據系統的實際情況選擇目錄分隔符(windows下是,linux下是/)
String separator = File.separator;
String directory = "myDir1" + separator + "myDir2";
// 以下這句的效果等同於上面兩句,windows下正斜杠/和反斜杠都是可以的
// linux下只認正斜杠,為了保證跨平台性,不建議使用反斜杠(在java程序中是轉義字元,用\來表示反斜杠)
// String directory = "myDir1/myDir2";
String fileName = "myFile.txt";
// 在內存中創建一個文件對象,注意:此時還沒有在硬碟對應目錄下創建實實在在的文件
File f = new File(directory,fileName);
if(f.exists()) {
// 文件已經存在,輸出文件的相關信息
System.out.println(f.getAbsolutePath());
System.out.println(f.getName());
System.out.println(f.length());
} else {
// 先創建文件所在的目錄
f.getParentFile().mkdirs();
try {
// 創建新文件
f.createNewFile();
} catch (IOException e) {
System.out.println("創建新文件時出現了錯誤。。。");
e.printStackTrace();
}
}
}
}