當前位置:首頁 » 編程語言 » java獲取linux

java獲取linux

發布時間: 2022-10-22 11:54:24

java程序怎樣讀取linux系統下的文件

java是跨平台語言,在linux上讀文件跟在windows上讀文件是一樣的 只是文件路徑不一樣,可以用File對象和FileInputSteam來讀取。但要注意文件編碼問題。
如果有中文請做適當的編碼轉換,通常情況下Linux的默認字元編碼為UTF-8編碼方式,項目可以直接採用utf8編碼方式操作.用System.getProperty("file.encoding")可檢查系統編碼格式。可改操作系統的文件系統編碼,vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
編碼轉換代碼:new String(files[i].getName().getBytes("GBK"),"UTF-8");

文件操作的核心代碼請參考下面代碼:

String path= "/home/";
path= "/home/multiverse/Repository/PMEPGImport";
File file=new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//FileInputStream fis = new FileInputStream("fileName");

//InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer buffer = new StringBuffer();
String text;

BufferedReader input = new BufferedReader (new FileReader(tempList[i]));

while((text = input.readLine()) != null)
buffer.append(text +"/n"); }

if (tempList[i].isDirectory()) {
System.out.println("文件夾:"+tempList[i]);
}
}

❷ 如何用java獲取linux下某文件夾的大小

javacode如下:import java.io.*; class dirlen { static long dirlength;//保存目錄大小的變數 static void sdl(String dirname) { File dir=new File(dirname); System.out.println(dirname); String f[]=dir.list(); File f1; for(int i=0;i<f.length;i++) { f1 = new File (dirname+"/"+f[i]); if (!f1.isDirectory()) dirlength+=f1.length(); else sdl(dirname+"/"+f[i]);//如果是目錄,遞歸調用 } } public static void main(String args[]) { if(args.length!=1)//判斷是否只帶一個參數,參數是目錄名 { System.out.println("Parameter error!"); System.exit(0); } dirlength=0; String dirname=args[0]; File dir=new File(dirname); if(dir.isDirectory())//判斷是否是目錄,如果不是退出程序 { sdl(dirname);//計算目錄大小 System.out.println("Length is "+dirlength+" bytes."); } else System.out.println(dir+" isn't a directory!"); } }

❸ 在java中怎麼去獲取linux系統開機時的用戶名和密碼

你想破解Linux用戶的密碼?
這是不可能的。
因為所有的密碼都被用md5加密過,即使你想看自己的密碼也是看不到的。
因為md5加密演算法無法進行反向運算。而在登錄時,只有你輸入的密碼是明文,系統會把你的密碼轉換為md5碼而與系統已經存儲的md5碼進行對照,如果一致就證明你輸入的密碼是正確的,從而讓你登錄,不然,反之。

所以想都不用去想用Java來實現,就是用C語言修改源代碼也是做不到的。原因上文說了:md5加密的緣故。

事實上,有個更簡單的辦法可以讓你獲取用戶的密碼md5值:在系統里有個配置文件存儲著密碼的md5值,具體可以Google一下。

但獲得密碼的原始明文?還是那句話:想都不要去想,除非你就是這個用戶。

❹ 用java如何讀取linux中的某個文件

java是跨平台語言,在linux上讀文件跟在windows上讀文件是一樣的 只是文件路徑不一樣,可以用File對象和FileInputSteam來讀取。但要注意文件編碼問題。
如果有中文請做適當的編碼轉換,通常情況下Linux的默認字元編碼為UTF-8編碼方式,項目可以直接採用utf8編碼方式操作.用System.getProperty("file.encoding")可檢查系統編碼格式。可改操作系統的文件系統編碼,vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
編碼轉換代碼:new String(files[i].getName().getBytes("GBK"),"UTF-8");

文件操作的核心代碼請參考下面代碼:

String path= "/home/";
path= "/home/multiverse/Repository/PMEPGImport";
File file=new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//FileInputStream fis = new FileInputStream("fileName");

//InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer buffer = new StringBuffer();
String text;

BufferedReader input = new BufferedReader (new FileReader(tempList[i]));

while((text = input.readLine()) != null)
buffer.append(text +"/n"); }

if (tempList[i].isDirectory()) {
System.out.println("文件夾:"+tempList[i]);
}
}

❺ 用java如何讀取linux中的某個文件

java是跨平台語言,在linux上讀文件跟在windows上讀文件是一樣的 只是文件路徑不一樣,可以用File對象和FileInputSteam來讀取。但要注意文件編碼問題。
如果有中文請做適當的編碼轉換,通常情況下Linux的默認字元編碼為UTF-8編碼方式,項目可以直接採用utf8編碼方式操作.用System.getProperty("file.encoding")可檢查系統編碼格式。可改操作系統的文件系統編碼,vi /etc/profile,在文件末尾加上
export LANG="zh_CN.GBK"
export LC_ALL="zh_CN.GBK"
編碼轉換代碼:new String(files[i].getName().getBytes("GBK"),"UTF-8");

文件操作的核心代碼請參考下面代碼:

String path= "/home/";
path= "/home/multiverse/Repository/PMEPGImport";
File file=new File(path);
File[] tempList = file.listFiles();
for (int i = 0; i < tempList.length; i++) {
if (tempList[i].isFile()) {
//FileInputStream fis = new FileInputStream("fileName");

//InputStreamReader isr = new InputStreamReader(fis,"utf-8");
StringBuffer buffer = new StringBuffer();
String text;

BufferedReader input = new BufferedReader (new FileReader(tempList[i]));

while((text = input.readLine()) != null)
buffer.append(text +"/n"); }

if (tempList[i].isDirectory()) {
System.out.println("文件夾:"+tempList[i]);
}
}

❻ java獲取linux下正在運行的應用程序的數量

Java 可以通過 Runtime 調用Linux命令,形式如下:

Runtime.getRuntime().exec(command)
但是這樣執行時沒有任何輸出,因為調用 Runtime.exec
方法將產生一個本地的進程,並返回一個Process子類的實例(注意:Runtime.getRuntime().exec(command)返回的是
一個Process類的實例)該實例可用於控制進程或取得進程的相關信息。

由於調用 Runtime.exec
方法所創建的子進程沒有自己的終端或控制台,因此該子進程的標准IO(如stdin,stdou,stderr)都通過
Process.getOutputStream(),Process.getInputStream(),
Process.getErrorStream() 方法重定向給它的父進程了。

用戶需要用這些stream來向子進程輸入數據或獲取子進程的輸出,下面的代碼可以取到 linux 命令的執行結果:

try {
String[] cmd = new String[]{」/bin/sh」, 「-c」, 」 ls 「};
Process ps = Runtime.getRuntime().exec(cmd);

BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine()) != null) {
sb.append(line).append(」\n」);
}
String result = sb.toString();

System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
借鑒於:http://www.linuxidc.com/Linux/2010-07/27376.htm

❼ java如何獲得linux下web路徑

java獲取根路徑有兩種方式:
1),在servlet可以用一下方法取得:
request.getRealPath(「/」) 例如:filepach = request.getRealPath(「/」) 」//upload//」;
2),不從jsp,或servlet中獲取,只從普通java類中獲取:
String path =
getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
SAXReader() saxReader = new SAXReader();
if(path.indexOf(「WEB-INF」)>0){
path = path.substring(0,path.indexOf(「/WEB-INF/classes」) 16);
// 『/WEB-INF/classes』為16位
document = saxReader.read(path filename);
}else{
document = saxReader.read(getClass().getResourceAsStream(filename));
}
weblogic tomcat 下都有效
String path =
getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
<!--EndFragment-->

❽ java如何獲取Linux操作系統下的ip地址和網

以下代碼需要 JDK 6 及以後版本,如果是 JDK 6 以下版本的話,沒有直接獲得 MAC 的 API。

import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration; public class NetworkInfo { private final static char[] HEX = "0123456789ABCDEF".toCharArray(); public static void main(String[] args) throws SocketException { for(Enumeration<NetworkInterface> i = NetworkInterface.getNetworkInterfaces(); i.hasMoreElements(); ) { NetworkInterface ni = i.nextElement(); System.out.println("NETWORK CARD NAME: " + ni.getDisplayName()); System.out.println("MAC: " + toMacString(ni.getHardwareAddress())); for(Enumeration<InetAddress> j = ni.getInetAddresses(); j.hasMoreElements(); ) { System.out.println(" " + j.nextElement()); } } } private static String toMacString(byte[] bys) { if(bys == null) { return null; } char[] chs = new char[bys.length * 3 - 1]; for(int i = 0, k = 0; i < bys.length; i++) { if(i > 0) { chs[k++] = '-'; } chs[k++] = HEX[(bys[i] >> 4) & 0xf]; chs[k++] = HEX[bys[i] & 0xf]; } return new String(chs); }}

❾ java如何獲取Linux操作系統下的硬體信息

引入包:
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Map;
import java.util.Properties;
import org.hyperic.sigar.CpuInfo;
import org.hyperic.sigar.CpuPerc;
import org.hyperic.sigar.FileSystem;
import org.hyperic.sigar.FileSystemUsage;
import org.hyperic.sigar.Mem;
import org.hyperic.sigar.NetFlags;
import org.hyperic.sigar.NetInterfaceConfig;
import org.hyperic.sigar.NetInterfaceStat;
import org.hyperic.sigar.OperatingSystem;
import org.hyperic.sigar.Sigar;
import org.hyperic.sigar.SigarException;
import org.hyperic.sigar.Swap;
import org.hyperic.sigar.Who;

代碼太長 了,不給貼出來。相關的代碼太多了,github一抓一大把。

熱點內容
隨機啟動腳本 發布:2025-07-05 16:10:30 瀏覽:532
微博資料庫設計 發布:2025-07-05 15:30:55 瀏覽:30
linux485 發布:2025-07-05 14:38:28 瀏覽:310
php用的軟體 發布:2025-07-05 14:06:22 瀏覽:760
沒有許可權訪問計算機 發布:2025-07-05 13:29:11 瀏覽:436
javaweb開發教程視頻教程 發布:2025-07-05 13:24:41 瀏覽:718
康師傅控流腳本破解 發布:2025-07-05 13:17:27 瀏覽:246
java的開發流程 發布:2025-07-05 12:45:11 瀏覽:692
怎麼看內存卡配置 發布:2025-07-05 12:29:19 瀏覽:288
訪問學者英文個人簡歷 發布:2025-07-05 12:29:17 瀏覽:837