小编use*_*553的帖子

System.getenv()和System.getProperty()之间的区别

可能重复:
System属性和环境变量之间的区别是什么

System.getenv()和System.getProperty()有什么区别?

当我们使用Processbuilder运行任何命令时,我们可以设置环境变量,即:

String[] vCmd = { System.getenv("ANT_HOME") + "/bin/ant", "-f",
                ANT_BUILD_FILE, TARGET };
        ProcessBuilder pb = new ProcessBuilder(vCmd);
        Map<String, String> env = pb.environment();     
        env.put("CLASSPATH",
                antHome+"/lib/ant.jar:"
                        + antHome+"/lib/ant-launcher.jar:"
                        + antHome+"/lib/ant-nodeps.jar:"
                        );
        try{

            Process process = pb.start();
            InputStream is = process.getInputStream();
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            pb.wait();
        }
        catch(Exception e)

            System.out.println(e.getMessage());


        }
Run Code Online (Sandbox Code Playgroud)

如果我在此方法之前使用System.setProperties()设置了一些属性,那么ProcessBuilder启动此进程是否可用?

java environment-variables

81
推荐指数
2
解决办法
7万
查看次数

unix中-z的工作

if [ -z "${ABC}" ] 
then
LOGDIR=`${JAVA_HOME}/bin/java -cp ${a}/aim.jar my.app.util.GetLogDir "${rsp}"`
Run Code Online (Sandbox Code Playgroud)

有人可以帮我弄这个吗.这究竟是做什么的.它是否检查abc是否存在以及调用GetLogDir的主要参数?

unix

10
推荐指数
1
解决办法
4万
查看次数

java.io.IOException:error = 2,没有这样的文件或目录

我试图使用Runtime.getrunTime().exec从另一个java程序运行java程序

代码:

String java_home = System.getenv("JAVA_HOME");
 String[] command = {""+java_home+"/bin/java -cp -cp /sc/sug/p-lib/*  Tdesigner -cd /pr -in ing.rsp -out /scratch/sug/ng.pla -ad -stopO "};
                try {
                    proc = Runtime.getRuntime().exec(command);
                    proc.waitFor();
                    int exitCode = proc.exitValue();
                } catch (IOException e) {
                        e.printStackTrace();
                } catch (InterruptedException e) {
                        e.printStackTrace();
                }
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误:

 java.io.IOException: Cannot run program "/net/sl/sc/jdk6/bin/java -cp /sc/sug/p-lib/*  Tdesigner -cd /pr -in ing.rsp -out /scratch/sug/ng.pla -ad -stopOnError ": java.io.IOException: error=2, No such file or directory
            at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
            at java.lang.Runtime.exec(Runtime.java:593)
            at java.lang.Runtime.exec(Runtime.java:466)
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题.是我需要使用-cp添加单个jar文件而不是设置目录.

java

7
推荐指数
1
解决办法
2万
查看次数

如何在从java调用ant目标时设置记录器

我必须从java类调用一个ant目标,目前它是从sh脚本调用的,它设置-logger logger.class

我写了这样的java代码......

Project p = new Project();
        p.setUserProperty("ant.file", buildFile.getAbsolutePath());
        p.init();
        ProjectHelper helper = ProjectHelper.getProjectHelper();
        p.addReference("ant.projectHelper", helper);
        helper.parse(p, buildFile);
        p.executeTarget(TARGET);
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何使用相同的代码序列设置记录器.

错误:

Class not found:util.logger.CustomLogger
java.lang.RuntimeException
        at org.apache.tools.ant.Main.createLogger(Main.java:850)
        at org.apache.tools.ant.Main.addBuildListeners(Main.java:795)
Run Code Online (Sandbox Code Playgroud)

java ant shell

5
推荐指数
1
解决办法
266
查看次数

将输入流读取到缓冲区的最佳方法

要将任何输入流读取到缓冲区,有两种方法。有人可以帮助我了解哪种方法更好以及为什么?每种方法应该在什么情况下使用?

  • 逐行读取并将其附加到缓冲区。

例如:

public String fileToBuffer(InputStream is, StringBuffer strBuffer) throws IOException{
    StringBuffer buffer = strBuffer;
    InputStreamReader isr = null;

    try {
        isr = new InputStreamReader(is);
        BufferedReader br = new BufferedReader(isr);
        String line = null;

        while ((line = br.readLine()) != null) {
            buffer.append(line + "\n");
        }
    } finally {
        if (is != null) {
            is.close();
        }
        if (isr != null) {
            isr.close();
        }
    }

    return buffer.toString();
}
Run Code Online (Sandbox Code Playgroud)
  • 读取最大缓冲区大小,即 char 数组中的 1024 字节。

例如:

InputStreamReader isr = new InputStreamReader(is);
final int bufferSize …
Run Code Online (Sandbox Code Playgroud)

java io file-io

5
推荐指数
1
解决办法
3万
查看次数

linux和python中的md5

我使用md5算法在python和linux中散列相同的字符串,但我得到不同的值可以有人指出什么是错的

在linux中: echo "logdir" | md5sum - | awk '{print $1}'

gives: aba76197efa97e6bd4e542846471b391 
Run Code Online (Sandbox Code Playgroud)

在python中:
md5.new("logdir".encode('utf-8')).hexdigest()

gives: ee6da4c228cfaebfda7f14e4371a097d
Run Code Online (Sandbox Code Playgroud)

python linux md5

3
推荐指数
1
解决办法
260
查看次数

如何在ShellScript中查找目录是否为装载

我需要查找某个位置是否是目录,以及它是否是ShellScript中的装载

我试过这个:

new_dir="/home/fruits/apple"
if [ -d "$new_dir" ]
then
    if [ mountpoint -q "$new_dir" ]
    then
        echo "directory is mounted"
    else
        echo "directory is not mounted"
    fi
fi
Run Code Online (Sandbox Code Playgroud)

但它没有用.给出错误

test_dir.sh: line 13: [: -q: binary operator expected
directory is not mounted
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙......我需要这个工作......

unix linux

1
推荐指数
1
解决办法
102
查看次数

标签 统计

java ×4

linux ×2

unix ×2

ant ×1

environment-variables ×1

file-io ×1

io ×1

md5 ×1

python ×1

shell ×1