JAVA_JSCH如何远程 *** 作SFTP服务器上的文件?

JAVA_JSCH如何远程 *** 作SFTP服务器上的文件?,第1张

使用SSH协议进行FTP传输的协议叫SFTP
换言之你的SSH协议一定启用了,那么使用基本linux命令在远端执行即可。
我个人而言,JSCH一般是这样用的:SFTP用于单纯的文件上传,之后直接使用基础ssh协议执行远端linux命令(比如说,移动文件或是重启服务器等等)
至于API的具体使用方式,稍微搜索一下很容易找到,比如这个:
>

使用远程终端登陆Linux服务器,接着就是来安装jdk:

在oracle网站下载jdk,这个很简单,自己一进去就可以找到下载的地方

选择适当的包,比如Linux是32位的就选32位的包,64位的就选64位的包

2 比如:jdk-6u21-linux-i586bin

3 通过ftp上传下载的包到Linux服务器上

4 执行:sh jdk-6u21-linux-i586bin  或者 /jdk-6u21-linux-i586bin

5 配置:

在自己的主目录下,如我的主目录为/home/zhujiadun/ ,如  bashrc  文件,末尾加下如下信息

JAVA_HOME=/home/zhujiadun/jdk160_21  
JAVA_BIN=/home/zhujiadun/jdk160_21/bin  
PATH=$PATH:$JAVA_HOME/bin  
CLASSPATH=:$JAVA_HOME/lib/dtjar:$JAVA_HOME/lib/toolsjar  
export JAVA_HOME JAVA_BIN PATH CLASSPATH

6。然后重启,即可

不好实现,网上有方法说用FTP,但是不会用啊,找了一个
public static void forcdt(String dir){
InputStream in = null;
OutputStream out = null;
File localFile = new File(dir);try{//创建file类 传入本地文件路径
//获得本地文件的名字
String fileName = localFilegetName();
//将本地文件的名字和远程目录的名字拼接在一起
//确保上传后的文件于本地文件名字相同
SmbFile remoteFile = new SmbFile("smb://administrator:admin@10001/e$/aa/");
//创建读取缓冲流把本地的文件与程序连接在一起
in = new BufferedInputStream(new FileInputStream(localFile));
//创建一个写出缓冲流(注意jcifs-1315jar包 类名为Smb开头的类为控制远程共享计算机"io"包)
//将远程的文件路径传入SmbFileOutputStream中 并用 缓冲流套接
out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile+"/"+fileName));
//创建中转字节数组
byte[] buffer = new byte[1024];
while(inread(buffer)!=-1){//in对象的read方法返回-1为 文件以读取完毕
outwrite(buffer);
buffer = new byte[1024];}}catch(Exception e){
eprintStackTrace();}finally{try{//注意用完 *** 作io对象的方法后关闭这些资源,走则 造成文件上传失败等问题。!
outclose();
inclose();


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12636007.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存