请建议一种在UNIX中从我的类中获取返回String的方法。
这是我的示例课程:
package com.mytest.package.main;
public class DateExtractor {
public static String getDate() {
return "20120924";
}
public static void main (String[] args) {
system.out.println(getDate());
}
}
我的UNIX脚本:
JAVA_BIN="/usr/bin"
log_dir="/usr/tmp/log"
JVM_OPTION="-Xms512m -Xmx2g -DprojectName=mytestproj -Dlog.dir=$log_dir"
CP="/usr/tmp"
MAIN_CLASS=com.mytest.package.main.DateExtractor
$NOHUP $JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS
预期结果:
echo $Data_from_getDate
20120924
答案 0 :(得分:2)
使用:SimpleDateFormat
,有很多日期格式
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd/MM/yy");
String dateAsString = simpleDateFormat.format(new Date());
System.out.println(dateAsString);
答案 1 :(得分:1)
你可以从程序返回int代码(通常0表示成功,其他任何东西都是错误的)并以$获取它? shell变量 - 但不是字符串。在shell中使用println和your-program-here-
来获取输出。
答案 2 :(得分:1)
您不能返回字符串,UNIX程序具有整数返回值(您可以使用System.exit(value)
指定。
您使用Java打印的所有内容都采用标准输出,通常打印在终端上。
您可以使用
将输出存储在变量中Data_from_getDate=$( $NOHUP $JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS )
echo $Data_from_getDate
答案 3 :(得分:1)
两条建议:
将程序的输出放在标准输出
上System.out.println(getDate());
在unix脚本中回显结果
echo `$JAVA_BIN/java ${JVM_OPTION:-} -classpath $CP $MAIN_CLASS`