Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java在终端中执行Linux命令_Java_Eclipse_Ubuntu_Terminal_Virtuoso - Fatal编程技术网

从Java在终端中执行Linux命令

从Java在终端中执行Linux命令,java,eclipse,ubuntu,terminal,virtuoso,Java,Eclipse,Ubuntu,Terminal,Virtuoso,我目前正在Ubuntu的终端上使用一个名为“curl”的命令,将我的.RDF文件上传到Virtuoso RDF商店 curl -T FILE URL -u USER:PASSWORD 我想自动化这些过程,以便在eclipse中创建一个Java函数。此代码不起作用 String[] command = {"curl -T", FILENAME, URL, "-u", credentials.USERNAME+":"+credentials.PASSWORD}; Runtime.getRuntim

我目前正在Ubuntu的终端上使用一个名为“curl”的命令,将我的.RDF文件上传到Virtuoso RDF商店

curl -T FILE URL -u USER:PASSWORD
我想自动化这些过程,以便在eclipse中创建一个Java函数。此代码不起作用

String[] command = {"curl -T", FILENAME, URL, "-u", credentials.USERNAME+":"+credentials.PASSWORD};
Runtime.getRuntime().exec(command)
我也试过这个。出现xterm,但显示此错误(即使文件位于函数路径中):

在这件事上,如果有任何帮助,我将不胜感激


提前感谢

使用Runtime.exec通常是个坏主意,为什么不使用Java HTTP API上载文件呢

使用Runtime.exec通常是个坏主意,为什么不使用Java HTTP API上载文件呢

使用Runtime.exec通常是个坏主意,为什么不使用Java HTTP API上载文件呢

使用Runtime.exec通常是个坏主意,为什么不使用Java HTTP API上载文件呢

过去,我很难使用
Runtime.exec()
运行命令。无论如何,我已经转向使用
ProcessBuilder
,如下所示:

ProcessBuilder pbuilder = new ProcessBuilder("bash", "-c", <<your command as string>>);
        File err = new File("err.txt");
        try {
            pbuilder.redirectError(err);
            Process p = pbuilder.start();
            p.waitFor();      

        } catch (Exception e) 
        {
             //handle exceptions if any.
        }
ProcessBuilder-pbuilder=newprocessbuilder(“bash”和“-c”);
File err=新文件(“err.txt”);
试一试{
pbuilder.redirectError(err);
进程p=pbuilder.start();
p、 waitFor();
}捕获(例外e)
{
//处理异常(如果有)。
}
出于调试目的,stderr行是可选的。我确信它可以直接打印到控制台,但还没有检查过。一旦我找到更多,将更新我的答案

您可以查看文档页面


PS:还要检查您是否具有执行所需任务所需的权限。

过去,我一直很难使用
Runtime.exec()运行命令。无论如何,我已经转向使用
ProcessBuilder
,如下所示:

ProcessBuilder pbuilder = new ProcessBuilder("bash", "-c", <<your command as string>>);
        File err = new File("err.txt");
        try {
            pbuilder.redirectError(err);
            Process p = pbuilder.start();
            p.waitFor();      

        } catch (Exception e) 
        {
             //handle exceptions if any.
        }
ProcessBuilder-pbuilder=newprocessbuilder(“bash”和“-c”);
File err=新文件(“err.txt”);
试一试{
pbuilder.redirectError(err);
进程p=pbuilder.start();
p、 waitFor();
}捕获(例外e)
{
//处理异常(如果有)。
}
出于调试目的,stderr行是可选的。我确信它可以直接打印到控制台,但还没有检查过。一旦我找到更多,将更新我的答案

您可以查看文档页面


PS:还要检查您是否具有执行所需任务所需的权限。

过去,我一直很难使用
Runtime.exec()运行命令。无论如何,我已经转向使用
ProcessBuilder
,如下所示:

ProcessBuilder pbuilder = new ProcessBuilder("bash", "-c", <<your command as string>>);
        File err = new File("err.txt");
        try {
            pbuilder.redirectError(err);
            Process p = pbuilder.start();
            p.waitFor();      

        } catch (Exception e) 
        {
             //handle exceptions if any.
        }
ProcessBuilder-pbuilder=newprocessbuilder(“bash”和“-c”);
File err=新文件(“err.txt”);
试一试{
pbuilder.redirectError(err);
进程p=pbuilder.start();
p、 waitFor();
}捕获(例外e)
{
//处理异常(如果有)。
}
出于调试目的,stderr行是可选的。我确信它可以直接打印到控制台,但还没有检查过。一旦我找到更多,将更新我的答案

您可以查看文档页面


PS:还要检查您是否具有执行所需任务所需的权限。

过去,我一直很难使用
Runtime.exec()运行命令。无论如何,我已经转向使用
ProcessBuilder
,如下所示:

ProcessBuilder pbuilder = new ProcessBuilder("bash", "-c", <<your command as string>>);
        File err = new File("err.txt");
        try {
            pbuilder.redirectError(err);
            Process p = pbuilder.start();
            p.waitFor();      

        } catch (Exception e) 
        {
             //handle exceptions if any.
        }
ProcessBuilder-pbuilder=newprocessbuilder(“bash”和“-c”);
File err=新文件(“err.txt”);
试一试{
pbuilder.redirectError(err);
进程p=pbuilder.start();
p、 waitFor();
}捕获(例外e)
{
//处理异常(如果有)。
}
出于调试目的,stderr行是可选的。我确信它可以直接打印到控制台,但还没有检查过。一旦我找到更多,将更新我的答案

您可以查看文档页面


PS:还要检查您是否拥有执行所需任务所需的权限。

您是否以自己的身份运行它?若不在路径变量中,则环境变量可能不同,若不在路径变量中,则旋度将不可见。。。。您可能需要调试类似于
printenv PATH
的东西,并检查是否只需在Eclipse中的某些文件上执行程序,然后使用“外部工具”,它们位于调试和Java工具栏图标旁边。这些启动配置应该更方便。您自己运行吗?若不在路径变量中,则环境变量可能不同,若不在路径变量中,则旋度将不可见。。。。您可能需要调试类似于
printenv PATH
的东西,并检查是否只需在Eclipse中的某些文件上执行程序,然后使用“外部工具”,它们位于调试和Java工具栏图标旁边。这些启动配置应该更方便。您自己运行吗?若不在路径变量中,则环境变量可能不同,若不在路径变量中,则旋度将不可见。。。。您可能需要调试类似于
printenv PATH
的东西,并检查是否只需在Eclipse中的某些文件上执行程序,然后使用“外部工具”,它们位于调试和Java工具栏图标旁边。这些启动配置应该更方便。您自己运行吗?若不在路径变量中,则环境变量可能不同,若不在路径变量中,则旋度将不可见。。。。您可能需要调试类似于
printenv PATH
的东西,并检查是否只需在Eclipse中的某些文件上执行程序,然后使用“外部工具”,它们位于调试和Java工具栏图标旁边。这些启动配置应该更方便。我真的非常感谢@blumonkey。我什么都不知道