本文目錄一覽:
java如何獲取文件信息?
File 類是對文件和文件夾的抽象,包含了對文件和文件夾的多種屬性和操作方法。File類的常用方法如下表:
返回
方法
說明
String getName 獲取文件名稱
String getParent 獲取文件的父路徑字符串
String getPath 獲取文件的相對路徑字符串
String getAbsolutePath 獲取文件的絕對路徑字符串
boolean exists 判斷文件或者文件夾是否存在
boolean isFile 判斷是不是文件類型
boolean isDirectory 判斷是不是文件夾類型
boolean delete 刪除文件或文件夾,如果刪除成功返回結果為true
boolean mkdir 創建文件夾,創建成功返回true
boolean setReadOnly 設置文件或文件夾的只讀屬性
long length 獲取文件的長度
long lastModified 獲取文件的最後修改時間
String[ ] list 獲取文件夾中的文件和子文件夾的名稱,並存放到字符串數組中
java怎麼獲取本機的用戶名或域
java怎麼獲取本機的用戶名或域可通過System.getEnv()得到。
System.getenv(“USERNAME”);System.getenv(“USERDOMAIN”);
它常和System.getProperties()配合使用,它們的區別是:
從概念上講,系統屬性 和環境變量 都是名稱與值之間的映射。兩種機制都能用來將用戶定義的信息傳遞給 Java 進程。環境變量產生更多的全局效應,因為它們不僅對Java 子進程可見,而且對於定義它們的進程的所有子進程都是可見的。在不同的操作系統上,它們的語義有細微的差別,比如,不區分大小寫。因為這些原因,環境變量更可能有意料不到的副作用。最好在可能的地方使用系統屬性。環境變量應該在需要全局效應的時候使用,或者在外部系統接口要求使用環境變量時使用(比如 PATH)。
MapString, String map = System.getenv();
String userName = map.get(“USERNAME”);// 獲取用戶名
String computerName = map.get(“COMPUTERNAME”);// 獲取計算機名
String userDomain = map.get(“USERDOMAIN”);// 獲取計算機域名
System.out.println(“自定義變量getenv CONF_LOCATION:” +System.getenv(“conf.location”));
System.out.println(“操作系統的名稱:”+System.getProperty(“os.name”));
其它常用的屬性參數如下:
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如何獲取mac地址?
以windows舉例。
運行命令” cmd ipconfig /all”就會出現以下結果
Physical Address. . . . . . . . . : 20-CF-30-9A-60-EE
。
java就能過這樣的命令來獲取。以下是示例。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class TestMac
{
public static void main(String[] args) {
System.out.println(“Operation System=” + getOsName());
System.out.println(“Mac Address=” + getMACAddress());
System.out.println(“通過ip獲取mac”+getMACAddress(“192.168.1.101”));
}
public static String getOsName() {
String os = “”;
os = System.getProperty(“os.name”);
return os;
}
public static String getMACAddress() {
String address = “”;
String os = getOsName();
if (os.startsWith(“Windows”)) {
try {
String command = “cmd.exe /c ipconfig /all”;
Process p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf(“Physical Address”) 0) {
int index = line.indexOf(“:”);
index += 2;
address = line.substring(index);
break;
}
}
br.close();
return address.trim();
} catch (IOException e) {
}
} else if (os.startsWith(“Linux”)) {
String command = “/bin/sh -c ifconfig -a”;
Process p;
try {
p = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf(“HWaddr”) 0) {
int index = line.indexOf(“HWaddr”) + “HWaddr”.length();
address = line.substring(index);
break;
}
}
br.close();
} catch (IOException e) {
}
}
address = address.trim();
return address;
}
public static String getMACAddress(String ipAddress) {
String str = “”, strMAC = “”, macAddress = “”;
try {
Process pp = Runtime.getRuntime().exec(“nbtstat -a ” + ipAddress);
InputStreamReader ir = new InputStreamReader(pp.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i 100; i++) {
str = input.readLine();
if (str != null) {
if (str.indexOf(“MAC Address”) 1) {
strMAC = str.substring(str.indexOf(“MAC Address”) + 14,
str.length());
break;
}
}
}
} catch (IOException ex) {
return “Can’t Get MAC Address!”;
}
//
if (strMAC.length() 17) {
return “Error!”;
}
macAddress = strMAC.substring(0, 2) + “:” + strMAC.substring(3, 5)
+ “:” + strMAC.substring(6, 8) + “:” + strMAC.substring(9, 11)
+ “:” + strMAC.substring(12, 14) + “:”
+ strMAC.substring(15, 17);
//
return macAddress;
}
}
劍天夢的回答原理和我這個一樣,都是通過Process 執行命令。 我直接補充到答案里了。不過
我這邊運行那個命令出來的結果很多,那麼花的時間就長了。優點是能夠獲取別人的mac地址 。
java如何獲取當前時間 年月日 時分秒
java如何獲取當前時間以及格式化需要用到兩個類,如下圖:
1.獲取當前時間,並格式化為(年-月-日 時:分:秒)。
Date t = new Date();
SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
System.out.println(df.format(t));
打印輸出結果如下圖:
2.將java.util.Date轉換為java.sql.Date格式。
java.sql.Date sqld = new java.sql.Date(t.getTime());
System.out.println(sqld);
java.sql.Time sqlt = new java.sql.Time(t.getTime());
System.out.println(sqlt);
java.sql.Timestamp sqlts = new java.sql.Timestamp(t.getTime());
System.out.println(sqlts);
打印輸出結果如下圖:
“拓展資料——java”:
Java是一種廣泛使用的計算機編程語言,擁有跨平台、面向對象、泛型編程的特性,廣泛應用於企業級Web應用開發和移動應用開發。
Java編程語言的風格十分接近C++語言。繼承了C++語言面向對象技術的核心,捨棄了容易引起錯誤的指針,以引用取代;移除了C++中的運算符重載和多重繼承特性,用接口取代;增加垃圾回收器功能。
Java編程語言是個簡單、面向對象、分布式、解釋性、健壯、安全與系統無關、可移植、高性能、多線程和動態的語言。
JAVA中獲取系統當前時間該怎麼寫?
一. 獲取當前系統時間和日期並格式化輸出:\x0d\x0a\x0d\x0aimport java.util.Date; \x0d\x0aimport java.text.SimpleDateFormat;\x0d\x0a\x0d\x0apublic class NowString { \x0d\x0a public static void main(String[] args) { \x0d\x0a SimpleDateFormat df = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);//設置日期格式\x0d\x0a System.out.println(df.format(new Date()));// new Date()為獲取當前系統時間\x0d\x0a } \x0d\x0a} \x0d\x0a\x0d\x0a二. 在數據庫里的日期只以年-月-日的方式輸出,可以用下面兩種方法:\x0d\x0a\x0d\x0a1、用convert()轉化函數:\x0d\x0a\x0d\x0aString sqlst = “select convert(varchar(10),bookDate,126) as convertBookDate from roomBook where bookDate between ‘2007-4-10’ and ‘2007-4-25′”;\x0d\x0a\x0d\x0aSystem.out.println(rs.getString(“convertBookDate”)); \x0d\x0a\x0d\x0a2、利用SimpleDateFormat類:\x0d\x0a\x0d\x0a先要輸入兩個java包:\x0d\x0a\x0d\x0aimport java.util.Date; \x0d\x0aimport java.text.SimpleDateFormat;\x0d\x0a\x0d\x0a然後:\x0d\x0a\x0d\x0a定義日期格式:SimpleDateFormat sdf = new SimpleDateFormat(yy-MM-dd);\x0d\x0a\x0d\x0asql語句為:String sqlStr = “select bookDate from roomBook where bookDate between ‘2007-4-10’ and ‘2007-4-25′”;\x0d\x0a\x0d\x0a輸出:\x0d\x0a\x0d\x0aSystem.out.println(df.format(rs.getDate(“bookDate”)));
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/151467.html