我使用 jSch 编写了一个简单的程序来打印远程目录中所有文件的名称。
在该目录中,只有 7 个文件,但在我的控制台上,我得到了两个名为 .
和 ..
.
这些文件来自哪里,还是垃圾???
我的 Java 代码:
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import java.util.Vector;
public class DownloadFileSFTP {
public static void main(String[] s){
String user = "user";
String password = "1234";
String host = "remoteIP";
int port = 22;
String sourcePath = "/home/remoteSFTP_Files/";
String destinationPath = "/home/user/SFTP_files/";
Session session = null;
ChannelSftp sftp = null;
try {
JSch jsch = new JSch();
session = jsch.getSession(user, host, port);
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect();
System.out.println("Session created");
sftp = (ChannelSftp) session.openChannel("sftp");
sftp.connect();
System.out.println("SFTP Channel connected");
Vector totalFiles = sftp.ls(sourcePath);
for(int i = 0; i < totalFiles.size(); i++){
ChannelSftp.LsEntry ls = (ChannelSftp.LsEntry) totalFiles.get(i);
System.out.println("File Name: " + ls.getFilename());
}
} catch (Exception e){
e.printStackTrace();
} finally {
sftp.exit();
sftp.disconnect();
session.disconnect();
}
}
}
我的控制台中的 O/P:
Session created
SFTP Channel connected
File Name: campMonitorHome.jsp
File Name: asm-3.1.jar
File Name: didLatest_dump.sql
File Name: PieChartJson.java
File Name: demoFile.txt
File Name: .
File Name: jquery.jqplot.min.css
File Name: showgraphicalMonitor.jsp
File Name: ..
最佳答案
它只是显示“.”当前目录和“..”父目录。
我想没有使用过终端机的人永远不会接触到它们:)
关于java - 通过从 jSch SFTP 中的 Vector 获取文件名,两个名为( '.' 和 '..' )的额外文件来自哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21185307/