本文目錄一覽:
- 1、java 彈出選擇目錄框(選擇文件夾),獲取選擇的文件夾路徑
- 2、java上傳圖片獲得項目的路徑
- 3、在java中如何取得當前工作目錄
- 4、Java獲取程序運行的當前工作目錄
- 5、java如何查當前目錄
- 6、如何在Java中獲取環境變量的值
java 彈出選擇目錄框(選擇文件夾),獲取選擇的文件夾路徑
java 彈出選擇目錄框(選擇文件夾),獲取選擇的文件夾路徑:
int result = 0;
File file = null;
String path = null;
JFileChooser fileChooser = new JFileChooser();
FileSystemView fsv = FileSystemView.getFileSystemView(); //注意了,這裡重要的一句
System.out.println(fsv.getHomeDirectory()); //得到桌面路徑
fileChooser.setCurrentDirectory(fsv.getHomeDirectory());
fileChooser.setDialogTitle(“請選擇要上傳的文件…”);
fileChooser.setApproveButtonText(“確定”);
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
result = fileChooser.showOpenDialog(chatFrame);
if (JFileChooser.APPROVE_OPTION == result) {
path=fileChooser.getSelectedFile().getPath();
System.out.println(“path: “+path);
}
這是另外一種方法得到桌面路徑:
File desktop = new File(System.getProperty(“user.home”)+System.getProperty(“file.separator”)+”XX”);
filechooser.setCurrentDirectory(desktop);
我的文檔 路徑: fsv.getDefaultDirectory());
user.name 用戶的賬戶名稱
user.home 用戶的主目錄
user.dir 用戶的當前工作目錄
java.version Java 運行時環境版本
java.vendor Java 運行時環境供應商
java.vendor.url Java 供應商的 URL
java.home Java 安裝目錄
java.vm.specification.version Java 虛擬機規範版本
java.vm.specification.vendor Java 虛擬機規範供應商
java.vm.specification.name Java 虛擬機規範名稱
java.vm.version Java 虛擬機實現版本
java.vm.vendor Java 虛擬機實現供應商
java.vm.name Java 虛擬機實現名稱
java.specification.version Java 運行時環境規範版本
java.specification.vendor Java 運行時環境規範供應商
java.specification.name Java 運行時環境規範名稱
java.class.version Java 類格式版本號
java.class.path Java 類路徑
java.library.path 加載庫時搜索的路徑列表
java.io.tmpdir 默認的臨時文件路徑
java.compiler 要使用的 JIT 編譯器的名稱
java.ext.dirs 一個或多個擴展目錄的路徑
os.name 操作系統的名稱
os.arch 操作系統的架構
os.version 操作系統的版本
java上傳圖片獲得項目的路徑
在Java中,可以通過System.getProperty()方法,可以獲取環境信息:
user.dir 用戶的當前工作目錄
即
String path = System.getProperty(“user.dir”);
在java中如何取得當前工作目錄
你好,提問者:
不知道我理解的是否是你想問的。如果解決了你的問題,請採納,若有疑問,請追問。謝謝。
package com.gc.action.baiduTest;
import java.io.File;
public class FileName {
public static void main(String[] args) {
getFileName();
}
//取得當前目錄的路徑
public static void getFileName(){
File file =new File(“.”);
String path =file.getAbsolutePath();
System.out.println(path);
}
}
結果:
D:\ProgramFiles\eclipseWorkSpace\MySpring\.
Java獲取程序運行的當前工作目錄
使用下面這個PathUtil的getProgramPath()就可以獲得當前程序運行的目錄。
import java.net.URL;
import java.net.URLDecoder;
class PathUtil {
/**
* Get the env of windir, such as “C:\WINDOWS”.
*
* @return the env of windir value.
*/
public static String getWindir() {
return System.getenv(“windir”);
}
/**
* Get file separator, such as “/” on unix.
*
* @return the separator of file.
*/
public static String getFileSeparator() {
return System.getProperty(“file.separator”);
}
/**
* Get line separator, such as “\n” on unix.
*
* @return the separator of line.
*/
public static String getLineSeparator() {
return System.getProperty(“line.separator”);
}
/**
* Get programPath
*
* @return programPath
*/
public static String getProgramPath() {
ClassPathUtil cls = PathUtil.class;
ClassLoader loader = cls.getClassLoader();
//
// Get the full name of the class.
//
String clsName = cls.getName() + “.class”;
//
// Get the package that include the class.
//
Package pack = cls.getPackage();
String path = “”;
//
// Transform package name to path.
//
if (pack != null) {
String packName = pack.getName();
//
// Get the class’s file name.
//
clsName = clsName.substring(packName.length() + 1);
//
// If package is simple transform package name to path directly,
// else transform package name to path by package name’s
// constituent.
//
path = packName;
if (path.indexOf(“.”) 0) {
path = path.replace(“.”, “/”);
}
path = path + “/”;
}
URL url = loader.getResource(path + clsName);
//
// Get path information form the instance of URL.
//
String retPath = url.getPath();
//
// Delete protocol name “file:” form path information.
//
try {
int pos = retPath.indexOf(“file:”);
if (pos -1) {
retPath = retPath.substring(pos + 5);
}
//
// Delete the information of class file from the information of
// path.
//
pos = retPath.indexOf(path + clsName);
retPath = retPath.substring(0, pos – 1);
//
// If the class file was packageed into JAR e.g. file, delete the
// file name of the corresponding JAR e.g..
//
if (retPath.endsWith(“!”)) {
retPath = retPath.substring(0, retPath.lastIndexOf(“/”));
}
retPath = URLDecoder.decode(retPath, “utf-8”);
} catch (Exception e) {
retPath = null;
e.printStackTrace();
}
return retPath;
}
}
測試類:
public class Test{
public static void main(String args[]){
String s = PathUtil.getProgramPath();
System.out.println(s);
}
}
java如何查當前目錄
System.getProperty(“user.dir”)
將 getProperty(String) 方法使用的當前系統屬性集合作為 Properties 對象返回。如果沒有當前系統屬性集合,則先創建並初始化一個系統屬性集合。這個系統屬性集合總是包含以下鍵的值:
鍵 相關值的描述
java.version Java 運行時環境版本
java.vendor Java 運行時環境供應商
java.vendor.url Java 供應商的 URL
java.home Java 安裝目錄
java.vm.specification.version Java 虛擬機規範版本
java.vm.specification.vendor Java 虛擬機規範供應商
java.vm.specification.name Java 虛擬機規範名稱
java.vm.version Java 虛擬機實現版本
java.vm.vendor Java 虛擬機實現供應商
java.vm.name Java 虛擬機實現名稱
java.specification.version Java 運行時環境規範版本
java.specification.vendor Java 運行時環境規範供應商
java.specification.name Java 運行時環境規範名稱
java.class.version Java 類格式版本號
java.class.path Java 類路徑
java.library.path 加載庫時搜索的路徑列表
java.io.tmpdir 默認的臨時文件路徑
java.compiler 要使用的 JIT 編譯器的名稱
java.ext.dirs 一個或多個擴展目錄的路徑
os.name 操作系統的名稱
os.arch 操作系統的架構
os.version 操作系統的版本
file.separator 文件分隔符(在 UNIX 系統中是「/」)
path.separator 路徑分隔符(在 UNIX 系統中是「:」)
line.separator 行分隔符(在 UNIX 系統中是「/n」)
user.name 用戶的賬戶名稱
user.home 用戶的主目錄
user.dir 用戶的當前工作目錄
如何在Java中獲取環境變量的值
當程序中需要使用與操作系統相關的變量(例如:文件分隔符、換行符)時,Java提供了System類的靜態方法getenv()和getProperty()用於返回系統相關的變量與屬性,getenv方法返回的變量大多於系統相關,getProperty方法返回的變量大多與java程序有關。
系統屬性和環境變量都是名稱與值之間的映射。兩種機制都能用來將用戶定義的信息傳遞給 Java進程。環境變量產生更多的全局效應,因為它們不僅對Java子進程可見,而且對於定義它們的進程的所有子進程都是可見的。在不同的操作系統上,它們的語義有細微的差別,比如,不區分大小寫。因此環境變量更可能有意料不到的副作用。程序中儘可能使用系統屬性。環境變量應該在需要全局效應的時候使用,或者在外部系統接口要求使用環境變量時使用(比如 PATH)。
1、環境變量getenv() :用於獲取當前系統環境的字符串映射視圖;測試代碼及運行結果如下:
publicclass Test {
publicstaticvoid main(String[] args) {
MapString, String map = System.getenv();
for(IteratorString itr = map.keySet().iterator();itr.hasNext();){
String key = itr.next();
System.out.println(key + “=” + map.get(key));
}
}
}
USERPROFILE :用戶目錄
USERDNSDOMAIN :用戶域
PATHEXT :可執行後綴
JAVA_HOME :Java安裝目錄
TEMP :用戶臨時文件目錄
SystemDrive :系統盤符
ProgramFiles :默認程序目錄
USERDOMAIN :帳戶的域的名稱
ALLUSERSPROFILE :用戶公共目錄
SESSIONNAME :Session名稱
TMP :臨時目錄
Path :path環境變量
CLASSPATH :classpath環境變量
PROCESSOR_ARCHITECTURE :處理器體系結構
OS :操作系統類型
PROCESSOR_LEVEL :處理級別
COMPUTERNAME :計算機名
Windir :系統安裝目錄
SystemRoot :系統啟動目錄
USERNAME :用戶名
ComSpec :命令行解釋器可執行程序的準確路徑
APPDATA :應用程序數據目錄
2、系統屬性getProperty() :當前的系統屬性。測試代碼及運行結果如下:
java.version Java :運行時環境版本
java.vendor Java :運行時環境供應商
java.vendor.url :Java供應商的 URL
java.home :Java安裝目錄
java.vm.specification.version: Java虛擬機規範版本
java.vm.specification.vendor :Java虛擬機規範供應商
java.vm.specification.name :Java虛擬機規範名稱
java.vm.version :Java虛擬機實現版本
java.vm.vendor :Java虛擬機實現供應商
java.vm.name :Java虛擬機實現名稱
java.specification.version:Java運行時環境規範版本
java.specification.vendor:Java運行時環境規範供應商
java.specification.name :Java運行時環境規範名稱
java.class.version :Java類格式版本號
java.class.path :Java類路徑
java.library.path :加載庫時搜索的路徑列表
java.io.tmpdir :默認的臨時文件路徑
java.compiler :要使用的 JIT編譯器的名稱
java.ext.dirs :一個或多個擴展目錄的路徑
os.name :操作系統的名稱
os.arch :操作系統的架構
os.version :操作系統的版本
file.separator :文件分隔符
path.separator :路徑分隔符
line.separator :行分隔符
user.name :用戶的賬戶名稱
user.home :用戶的主目錄
user.dir:用戶的當前工作目錄
原創文章,作者:QJPQU,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/129475.html