我正在Windows PC上编写一个Java程序,需要与我们公司的Unix机器上的几个应用程序进行通信。
我开发的程序包含一个带有JButton的Swing接口。目前,当我点击按钮时,我可以在我的机器上选择“C:\ Users \ MyUserName \ Documents”之类的目录。这是代码示例:
selectButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
// Choose a directory
JFileChooser chooser = new JFileChooser();
chooser.setCurrentDirectory(new java.io.File("."));
chooser.setDialogTitle("choosertitle");
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setAcceptAllFileFilterUsed(false);
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
System.out.println("getCurrentDirectory(): " + chooser.getCurrentDirectory());
System.out.println("getSelectedFile() : " + chooser.getSelectedFile());
} else {
System.out.println("No Selection ");
}
}
});
现在我想在另一台使用Unix的机器上选择一个目录(假设机器名是“unix-service”),而不是我本地机器上的目录。所以当我点击按钮时:
我需要知道我们公司的用户群才能继续。在Unix终端中,我们可以使用命令“echo $ WORK_GROUP”来完成它。我想将此用户的组保存为变量“user_group”
我想在那台Unix机器上选择一个目录“workgroug / user_group / username /”。
如何使用ssh命令并调整代码?
我希望一切都清楚并解释,如果您需要更多信息,请随时问我。谢谢你的时间。
答案 0 :(得分:2)
您可以使用以下库中的java ssh API连接到远程框。
此处提供了一个使用SSH在远程Linux / UNIX系统上执行命令的好例子
答案 1 :(得分:0)
所以,你只需要通过JAVA访问一个unix框。有很多图书馆在做这项工作。 看看这里:http://www.jcraft.com/jsch/
" JSch是SSH2的纯Java实现。 JSch允许您连接到sshd服务器并使用端口转发,X11转发,文件传输等,您可以将其功能集成到您自己的Java程序中。"