跨平台程序注意事项:
1.由于unix和windows系统参数的差别,故不使用硬编码(如"\r\n")进行换行,通过使用System.getProperties("line.separator");获取换行符
2.通过使用System.getProperty("file.separator");来得到系统路径分隔符"\"或"/"
3.使用以下方式调用shell脚本文件:
4.unix启动java程序
解析:
/opt/jre/bin/java : javahome路径,如有设置环境变量则无需要输入路径
-Djava.awt.headless=true : 如果是无界面(如远程)命令行没加入该参数时会报错,加入后则正常
-cp .:cp6.jar:lib/log4j-1.2.7.jar : 引用的jar包
com.checkpoint.ui.Main : 程序入口类
5.通过调用System.getenv().get("OS");来获取系统类型
6.通过调用System.getProperty("file.encoding");来获取系统编码来判断系统语言环境
7.读文件件时使用GBK转码,如果有JTextPane控件则用txtPane.setContentType("text/plain;charset=gb2312");设置中文显示
1.由于unix和windows系统参数的差别,故不使用硬编码(如"\r\n")进行换行,通过使用System.getProperties("line.separator");获取换行符
2.通过使用System.getProperty("file.separator");来得到系统路径分隔符"\"或"/"
3.使用以下方式调用shell脚本文件:
//String[] cmdStr = {"sh", "-c", "sh/start.sh"};
String[] cmdStr = {"/bin/sh", "sh/start.sh"};
Runtime rt = Runtime.getRuntime();
Process process = rt.exec(cmdStr);
//BufferedInputStream buf = new BufferedInputStream(process.getInputStream());
//Scanner s = new Scanner(buf);
InputStreamReader isr = new InputStreamReader(process.getInputStream());
BufferedReader s = new BufferedReader(isr);
String line = null;
while((line = s.readLine()) != null)
{
//String line = s.nextLine();
}
4.unix启动java程序
/opt/jre/bin/java -Djava.awt.headless=true -cp .:cp6.jar:lib/log4j-1.2.7.jar com.checkpoint.ui.Main
解析:
/opt/jre/bin/java : javahome路径,如有设置环境变量则无需要输入路径
-Djava.awt.headless=true : 如果是无界面(如远程)命令行没加入该参数时会报错,加入后则正常
-cp .:cp6.jar:lib/log4j-1.2.7.jar : 引用的jar包
com.checkpoint.ui.Main : 程序入口类
5.通过调用System.getenv().get("OS");来获取系统类型
6.通过调用System.getProperty("file.encoding");来获取系统编码来判断系统语言环境
7.读文件件时使用GBK转码,如果有JTextPane控件则用txtPane.setContentType("text/plain;charset=gb2312");设置中文显示