Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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中使用ssh读取远程Ubuntu目录?_Java_File Io_Ssh_Remote Access_Smb - Fatal编程技术网

在java中使用ssh读取远程Ubuntu目录?

在java中使用ssh读取远程Ubuntu目录?,java,file-io,ssh,remote-access,smb,Java,File Io,Ssh,Remote Access,Smb,我想使用java读取远程目录的内容 该目录位于运行Ubuntu的计算机上。右键单击该文件夹应该会提供ShareFolder选项及其安装的samba client for windows共享,但我没有任何机器运行windows 我正在寻找一个java api库来访问远程目录内容 用户将只提供用户名、密码、ip和文件夹名 例如[/172.17.0.1/sharefolder/demo/][/code> 谢谢。您可能会发现它拥有您需要的API—它对服务器和客户端都很有用 以下是从他们的文档中获取的检索

我想使用
java
读取远程目录的内容

该目录位于运行Ubuntu的计算机上。右键单击该文件夹应该会提供ShareFolder选项及其安装的samba client for windows共享,但我没有任何机器运行windows

我正在寻找一个java api库来访问远程目录内容

用户将只提供用户名、密码、ip和文件夹名

例如
[/172.17.0.1/sharefolder/demo/][/code>

谢谢。

您可能会发现它拥有您需要的API—它对服务器和客户端都很有用

以下是从他们的文档中获取的检索文件的示例:

import jcifs.smb.*;

jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.1.220" );
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "username", "password");
SmbFileInputStream in = new SmbFileInputStream("smb://host/c/My Documents/somefile.txt", auth);
byte[] b = new byte[8192];
int n;
while(( n = in.read( b )) > 0 ) {
    System.out.write( b, 0, n );
}
您可能会发现该应用程序具有所需的API—它对服务器和客户端都很有用

以下是从他们的文档中获取的检索文件的示例:

import jcifs.smb.*;

jcifs.Config.setProperty( "jcifs.netbios.wins", "192.168.1.220" );
NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication("domain", "username", "password");
SmbFileInputStream in = new SmbFileInputStream("smb://host/c/My Documents/somefile.txt", auth);
byte[] b = new byte[8192];
int n;
while(( n = in.read( b )) > 0 ) {
    System.out.write( b, 0, n );
}

桑巴舞分享: 甚至linux中的SAMBA共享也使用与windows共享相同的协议。 因此,这里的帖子可以帮助: 基本上,您可以使用“netuse”命令将共享位置装载为网络驱动器。 您可以通过windows控制台或java进程调用它

对于SFTP位置:

如果调用/使用外部命令没有问题,可以使用sshfs(在java之外或通过进程)将远程目录装载到本地文件夹中

见:

如果您想让纯java了解如何访问SFTP,我了解到可以使用一个名为JSch的库直接从java访问SFTP。见:


如果是另一种类型,请为Samba共享指定: 甚至linux中的SAMBA共享也使用与windows共享相同的协议。 因此,这里的帖子可以帮助: 基本上,您可以使用“netuse”命令将共享位置装载为网络驱动器。 您可以通过windows控制台或java进程调用它

对于SFTP位置:

如果调用/使用外部命令没有问题,可以使用sshfs(在java之外或通过进程)将远程目录装载到本地文件夹中

见:

如果您想让纯java了解如何访问SFTP,我了解到可以使用一个名为JSch的库直接从java访问SFTP。见:



<强>如果是另一种类型,请指定使用SjpApp考虑SF/TP的强/>/P>P>。使用代码示例可以找到文档。

用于SFTP考虑使用JSCAPE。可以找到带有代码示例的文档。

是一个通过ssh的功能齐全的unix/linux java文件系统提供程序。

是一个通过ssh的功能齐全的unix/linux java文件系统提供程序。

JCIFS lib是否允许读取目录内容,即使整个集群只是Ubuntu机器?其次,我们可以使用ssh在java中执行相同的过程吗?看来您需要的是基于sftp的API,而不是SMB/CIFS。您应该相应地编辑问题以反映这一点。无论如何,希望梅内拉奥斯的答案能对你有所帮助。祝你好运JCIFS库是否允许读取目录内容,即使整个集群只是Ubuntu机器?其次,我们可以使用ssh在java中执行相同的过程吗?看来您需要的是基于sftp的API,而不是SMB/CIFS。您应该相应地编辑问题以反映这一点。无论如何,希望梅内拉奥斯的答案能对你有所帮助。祝你好运感谢有用的链接。但是我正在寻找基于JAVA的API来传递用户和系统信息,然后在不挂载的情况下访问目录。我已经建立了一些APi,如sshj、JCFS等,但它们都在使用安全FTP[获取或放置]文件。嗨,谢谢!问题,您使用的协议是SFTP、Samba还是其他协议?SFTP,我们可以遍历所有文件和文件夹吗?检查它是否为目录?如果将其装入文件夹中,则它看起来就像是文件系统的一部分,因此可以遍历。Java看到了操作系统告诉它的东西。是否有任何代码可以使用ssh和Java编程接口装载远程目录?感谢提供有用的链接。但是我正在寻找基于JAVA的API来传递用户和系统信息,然后在不挂载的情况下访问目录。我已经建立了一些APi,如sshj、JCFS等,但它们都在使用安全FTP[获取或放置]文件。嗨,谢谢!问题,您使用的协议是SFTP、Samba还是其他协议?SFTP,我们可以遍历所有文件和文件夹吗?检查它是否为目录?如果将其装入文件夹中,则它看起来就像是文件系统的一部分,因此可以遍历。Java看到了操作系统告诉它的内容。是否有任何代码可以使用ssh和Java编程接口装载远程目录?我认为这里需要在标题和问题正文中指定是SFTP还是SAMBA。我认为这里需要在标题和问题正文中指定是SFTP还是SAMBA。