導航:首頁 > 編程語言 > java獲取系統屬性

java獲取系統屬性

發布時間:2022-09-24 17:24:58

java怎麼讀取文件的屬性信息

java本身的類庫是沒辦法實現的
如果會寫C的話,那就用C去獲取操作系統文件屬性,再通過JNI來實現java和C的互操作

❷ 在java中怎麼獲取頁面的路徑

這裡面我把se跟ee方面獲取路徑的給你列舉出來了,希望對你有用
Java中使用的路徑,分為兩種:絕對路徑和相對路徑。歸根結底,Java本質上只能使用絕對路徑來尋找資源。所有的相對路徑尋找資源的方法,都不過是一些便利方法。不過是API在底層幫助我們構建了絕對路徑,從而找到資源的!

在開發Web方面的應用時, 經常需要獲取伺服器中當前WebRoot的物理路徑。

如果是Servlet , Action , Controller, 或者Filter , Listener , 攔截器等相關類時, 我們只需要獲得ServletContext, 然後通過ServletContext.getRealPath("/")來獲取當前應用在伺服器上的物理地址。

如果在類中取不到ServletContext時,有兩種方式可以做到:

1)利用Java的類載入機制:調用 XXX.class.getClassLoader().getResource(""); 方法來獲取到ClassPath , 然後處理獲得WebRoot目錄。
這種方式只能是該class在WebRoot/WEB-INF/classes下才能生效, 如果該class被打包到一個jar文件中, 則該方法失效。這時就應該用下面一種方式。

2)spring框架的思路,在WEB-INF/web.xml中,創建一個webAppRootKey的param,指定一個值(默認為webapp.root)作為鍵值,然後通過Listener, 或者Filter,或者Servlet 執行String webAppRootKey = getServletContext().getRealPath("/"); 並將webAppRootKey對應的webapp.root 分別作為Key,Value寫到System Properties系統屬性中。之後在程序中通過System.getProperty("webapp.root")來獲得WebRoot的物理路徑。

根據第二種的思路,我們還可以再擴展一下。不過對於在部署在一台伺服器中的應用來說,若還不是你所需請再往下看。

下面是一些得到classpath和當前類的絕對路徑的一些方法。你可使用其中的一些方法來得到你需要的資源的絕對路徑:

1.DebitNoteAction.class.getResource("")
得到的是當前類FileTest.class文件的URI目錄。不包括自己!
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/
atacarnet/src/com/evi/moles/atacarnet/action/

2.DebitNoteAction.class.getResource("/")
得到的是當前的classpath的絕對URI路徑。
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/

3.Thread.currentThread().getContextClassLoader().getResource("")
得到的也是當前ClassPath的絕對URI路徑
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/
推薦使用該方法獲取。

4.DebitNoteAction.class.getClassLoader().getResource("") 或ClassLoader.getSystemResource("")
得到的也是當前ClassPath的絕對URI路徑。
如:file:/D:/eclipse/springTest/WebRoot/WEB-INF/classes/

5.取得伺服器相對路徑
System.getProperty("user.dir")
例如:E:\apache-tomcat-5.5.16\apache-tomcat-5.5.16\bin

6.取得項目中的絕對路徑
一般用request.getRealPath("/")或request.getRealPath("/config/")

但現在不提倡使用request.getRealPath("/")了,大家可試用ServletContext.getRealPath("/")方法得到Web應用程序的根目錄的絕對路徑。

要取得src的文件非常容易,因為src是默認的相對目錄,比如你說要取得src下com目錄的test.java文件,你只需要這樣就夠了
File f = new File(com/test.java);

但如果我要取得不在src目錄或者WebRoot目錄下的文件呢,而是要從src或者WebRoot同級的目錄中取呢,比如說doc吧。
我的硬方法是這樣實現的:
String path = this.getServletContext().getRealPath("/");
Properties p = new Properties();
p.load(new FileInputStream(new File(path.substring(0,(path.lastIndexOf("\\WebRoot") + 1)) + "doc/db.properties")));
System.out.println(p.getProperty("driverName"));
-------------------------------
另:Request中getContextPath、getServletPath、getRequestURI、getRequestURL、getRealPath的區別

假定你的web application 名稱為news,你在瀏覽器中輸入請求路徑:http://localhost:8080/news/main/list.jsp

則執行下面向行代碼後列印出如下結果:

1、 System.out.println(request.getContextPath());
列印結果:/news

2、System.out.println(request.getServletPath());
列印結果:/main/list.jsp

3、 System.out.println(request.getRequestURI());
列印結果:/news/main/list.jsp

4、System.out.println(request.getRequestURL());
列印結果:http://localhost:8080/news/main/list.jsp

5、 System.out.println(request.getRealPath("/"));
列印結果:F:\Tomcat 6.0\webapps\news\test

❸ 請問大家:在java中System.getProperties()獲取的屬性信息都是獲取的具體哪個配置文件里的信息

不是文件,這個是JVM啟動時的參數列表。

Properties props=System.getProperties(); //系統屬性
props.getProperty("java.version");具體有那些屬性,參照下邊。

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獲得當前伺服器的操作系統是什麼怎麼獲得

import java.util.Properties;

public class Test{

public static void main (String args[]){
Properties props=System.getProperties(); //系統屬性

System.out.println("Java的運行環境版本:"+props.getProperty("java.version"));
System.out.println("Java的運行環境供應商:"+props.getProperty("java.vendor"));
System.out.println("Java供應商的URL:"+props.getProperty("java.vendor.url"));
System.out.println("Java的安裝路徑:"+props.getProperty("java.home"));
System.out.println("Java的虛擬機規范版本:"+props.getProperty("java.vm.specification.version"));
System.out.println("Java的虛擬機規范供應商:"+props.getProperty("java.vm.specification.vendor"));
System.out.println("Java的虛擬機規范名稱:"+props.getProperty("java.vm.specification.name"));
System.out.println("Java的虛擬機實現版本:"+props.getProperty("java.vm.version"));
System.out.println("Java的虛擬機實現供應商:"+props.getProperty("java.vm.vendor"));
System.out.println("Java的虛擬機實現名稱:"+props.getProperty("java.vm.name"));
System.out.println("Java運行時環境規范版本:"+props.getProperty("java.specification.version"));
System.out.println("Java運行時環境規范供應商:"+props.getProperty("java.specification.vender"));
System.out.println("Java運行時環境規范名稱:"+props.getProperty("java.specification.name"));
System.out.println("Java的類格式版本號:"+props.getProperty("java.class.version"));
System.out.println("Java的類路徑:"+props.getProperty("java.class.path"));
System.out.println("載入庫時搜索的路徑列表:"+props.getProperty("java.library.path"));
System.out.println("默認的臨時文件路徑:"+props.getProperty("java.io.tmpdir"));
System.out.println("一個或多個擴展目錄的路徑:"+props.getProperty("java.ext.dirs"));
System.out.println("操作系統的名稱:"+props.getProperty("os.name"));
System.out.println("操作系統的構架:"+props.getProperty("os.arch"));
System.out.println("操作系統的版本:"+props.getProperty("os.version"));
System.out.println("文件分隔符:"+props.getProperty("file.separator")); //在 unix 系統中是」/」
System.out.println("路徑分隔符:"+props.getProperty("path.separator")); //在 unix 系統中是」:」
System.out.println("行分隔符:"+props.getProperty("line.separator")); //在 unix 系統中是」/n」
System.out.println("用戶的賬戶名稱:"+props.getProperty("user.name"));
System.out.println("用戶的主目錄:"+props.getProperty("user.home"));
System.out.println("用戶的當前工作目錄:"+props.getProperty("user.dir"));

}

}

❺ Java中System.getProperty("file.encoding") 獲得的是系統的編碼屬性。那麼文本的取值范圍的規定是些什麼

是指取全部的屬性值?
java.lang.System

static PropertiesgetProperties()

Determines the current system properties.

❻ 如何用JAVA 在 WINDOWS 系統中 判斷一個文件的屬性

用java只能獲取文件的幾種基本屬性,像歸檔等那些高級屬性是獲取不到的。因為windows是c,c++編寫的,如果你真的要獲取這些屬性。我知道有一個辦法,用c語言獲取文檔的屬性,通過JNI實現java和C的互操作。用c語言獲取文檔屬性網上還是很多辦法的

❼ Java如何獲取文件屬性中的摘要信息

java本身的類庫是沒辦法實現的 如果你會寫C的話,那就用C去獲取操作系統文件屬性,再通過JNI來實現java和C的互操作

❽ Java 的系統屬性 sun.jnu.encoding 和 file.encoding 的區別

1通過java寫文件時文件名編碼和System.getProperty("sun.jnu.encoding")有關,列印此環境屬性發現輸出竟然是ANSI的一種編碼,終於找到問題爆發點,通過在程序中設置System.setProperty("sun.jnu.encoding","utf-8")解決問題。

2通過問題解決得出結論:sun.jnu.encoding 影響文件名的創建,而 file.encoding 則影響到文件內容。
3所以說,在我們使用 Java 處理中文文件的時候,如果發現文件的中文內容沒有亂碼,而文件的中文名發生亂碼,我們就應當多考慮一下 sun.jnu.encoding 和 file.encoding 的區別了。

❾ java 判斷當前操作系統是不是windows

Java 判斷操作系統是linux還是windows,主要是使用system這個類,這個類型提供了獲取java版本、安裝目錄、操作系統等等信息,代碼如下:1
2
System.out.println("===========操作系統是:"+System.getProperties().getProperty("os.name"));
System.out.println("===========文件的分隔符為file.separator:"+System.getProperties().getProperty("file.separator"));
System類
public static Properties getProperties()
將 getProperty(String) 方法使用的當前系統屬性集合作為 Properties 對象返回
鍵 相關值的描述
java.version Java 運行時環境版本
java.vendor Java 運行時環境供應商
java.vendor.url Java 供應商的 URL
java.home Java 安裝目錄

❿ java如何獲取Oracle中類型為sysdate的屬性值

String sql = "SELECT SysDate FROM al";

....

rs.getDate(1);

如果想轉成String,就要
String sql = "SELECT to_char(SysDate, 'yyyy-MM- dd hh24:mi:ss') FROM al";

閱讀全文

與java獲取系統屬性相關的資料

熱點內容
梁中間部位箍筋加密區 瀏覽:117
頻譜分析pdf 瀏覽:750
樂2怎麼升級安卓70 瀏覽:172
java中獲取日期 瀏覽:506
單片機74hc245 瀏覽:272
美國歷史上的總統pdf 瀏覽:751
程序員脫單實驗室靠不靠譜 瀏覽:458
php中間四位手機號 瀏覽:869
永旺app怎麼樣了 瀏覽:516
壓縮空氣流量計算軟體 瀏覽:649
智慧聊天app怎麼激活 瀏覽:924
一加換機備份到哪個文件夾 瀏覽:735
支撐pdf 瀏覽:417
java空文件夾刪除 瀏覽:587
安卓9跟81有什麼區別 瀏覽:912
n1藍寶書pdf 瀏覽:244
為什麼安卓機拍照那麼丑 瀏覽:694
伺服器綁定雲產品實例 瀏覽:313
程序員認真工作被開除 瀏覽:454
程序員送蘋果 瀏覽:143