当前位置:首页 » 编程语言 » 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一抓一大把。

热点内容
如何配置mysql连接数 发布:2024-12-28 09:22:52 浏览:919
手机服务器1p地址怎样设置 发布:2024-12-28 09:08:04 浏览:788
简易安卓编程 发布:2024-12-28 09:08:01 浏览:134
仙剑奇侠传6加密 发布:2024-12-28 08:58:09 浏览:193
金立手机加密短信在哪 发布:2024-12-28 08:53:06 浏览:858
服务器是电脑十手机版下载 发布:2024-12-28 08:39:40 浏览:228
健身房管理系统源码 发布:2024-12-28 08:34:41 浏览:851
登陆器易语言源码 发布:2024-12-28 08:34:33 浏览:160
百度网盘下载源码 发布:2024-12-28 08:30:54 浏览:848
判断访问 发布:2024-12-28 08:30:12 浏览:66