一. Java获取linux或windows系统信息(用户目录,临时目录等)


//当前用户主目录 String userPath = System.getProperty("user.home");


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 项目读取linux外部配置文件

import org.apache.flink.core.fs.FileSystem;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.io.*;
import java.util.Properties;

/**
 * 如果用户指定文件不存在,则读当前用户主目录下的某个文件
 */
public class InputStreamFile {

    public static void main(String[] args) {
        InputStreamFile app = new InputStreamFile();
        // 用户指定文件路径
        String path = "/home/tmp/yw/config/oss.properties";//先读取config目录的,没有再加载classpath的
        //当前用户主目录下的某个默认文件
        String userPath = System.getProperty("user.home") + "/.ossutilconfig";
        path = path.isEmpty() ? userPath + "/.ossutilconfig" : path;//如果用户指定文件不存在,则读当前用户主目录下的某个文件
        //读取文件内容
        app.readInputStream(path);
        System.out.println();
    }

    public void readInputStream(String confPath) {
        Properties properties = new Properties();
        InputStream inputStream = null;
        File file = new File(confPath);
        if (file.exists()) {
            System.out.println("配置文件路径---->>" + confPath);
            try {
                inputStream = new FileInputStream(confPath);
                properties.load(inputStream);
            } catch (FileNotFoundException e) {
                System.out.println("配置文件未找到");
            } catch (IOException e) {
                System.out.println("配置文件读取异常");
            } finally {
                try {
                    if (null != inputStream) {
                        inputStream.close();
                    }
                } catch (IOException e) {
                    System.out.println("配置文件文件流关闭出现异常");
                }
            }
            System.out.println("加载properties文件内容完成...........");
            System.out.println("properties文件内容:" + properties);
        }
    }
}