【发布时间】:2015-02-13 07:37:30
【问题描述】:
我写了一个java代码,可以使用Jsch连接,可以在本地机器和服务器之间上传和下载文件。
但我不确定如何执行诸如“mv”之类的命令,以便使用 java.util.server 在文件夹之间移动文件。 要列出文件 ls 命令将在 putty 应用程序中使用,可以使用 Jsch 还是必须使用任何其他库?
JSch jsch = null;
Session session = null;
Channel channel = null;
ChannelSftp c = null;
try {
jsch = new JSch();
System.out.println("Setting Up SFTP Connection...");
session = jsch.getSession(username, host, 22);
session.setPassword(pass);
System.out.println("SFTP Configration Complete..!");
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
System.out.println("Attempting to Connect..!");
session.setConfig("PreferredAuthentications","publickey,keyboard-interactive,password");
session.connect();
System.out.println("Session Connected.");
channel = session.openChannel("sftp");
channel.connect();
System.out.println("Channel Connected.");
c = (ChannelSftp) channel;
System.out.println("Connection Established\n");
} catch (Exception e) {
e.printStackTrace();
}
try {
String tempFolderInLocal = "C:/Users/591705/Desktop/Test";
String Destiantion = "/hta1/home/pinDap75a/DestinationDemo";
String ServerTempDestination="/hta1/home/pinDap75a/TempDestinationDemo";
String DestiantionT = "/hta1/home/pinDap75a/DestinationDemo/Demo.txt";
String Source = "C:/Users/591705/Documents/Demo.txt";
System.out.println("Starting Upload..");
c.put(Source,Destiantion);
System.out.println("**Upload Finished**");
System.out.println("Starting Downlaod...");
c.get(DestiantionT, tempFolderInLocal);
System.out.println("File Transfer Complete! \n");
}
catch (Exception e) { e.printStackTrace(); }
c.disconnect();
session.disconnect();
要在 ServerDestinationTemp 和 DestinationT 之间移动文件,我可以实现它
【问题讨论】: