导航:首页 > 编程语言 > javaftp权限

javaftp权限

发布时间:2024-10-11 08:27:19

❶ 用java实现sftp的客户端,channel.connect()的时候,抛出异常,收到信息过长,然后就没连上。怎么回事

首先,不太明确你要问什么?
J2EE是java企业级应用,它里面关于安全方面的东西很多!
权限管理?信息安全?授权服务?访问控制?数据机密性?
要是你想全部都了解!
在这里提问是不行的!太庞杂了!
如果 你要问的是 java ftp传输过程中的一些安全注意事项!
这里建议 你使用 apache的开源项目。他们把基于java的ftp操作都封装好了!
安全相关都有保证。
我下面可以给你复制一段 ftp下载远程终端的java代码!你可以参考一下!

需要下载 org.apache.commons.net包
可以到 网站下载!
/**
* Description: 从FTP服务器下载文件
* @param ip FTP服务器的ip地址
* @param port FTP服务器端口,默认为:21
* @param username FTP登录账号
* @param password FTP登录密码
* @param remotePath FTP服务器上的相对路径
* @param fileName 要下载的文件名
* @param localPath 下载后保存到本地的路径
* @return
*/
public static boolean downFile(String ip, int port,String username, String password, String remotePath,String fileName,String localPath,String localfile) {
boolean success = false;
FTPClient ftp = new FTPClient();
try {
int reply;
ftp.connect(ip, port);
//处理中文转码操作
ftp.setControlEncoding("GBK");

FTPClientConfig conf = new FTPClientConfig(FTPClientConfig.SYST_NT);
conf.setServerLanguageCode("zh");

ftp.login(username, password);//登录

reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply)) {
ftp.disconnect();
return success;
}

ftp.changeWorkingDirectory(remotePath);//转移到FTP服务器目录
FTPFile[] fs = ftp.listFiles();
for(int i = 0; i < fs.length; i++){
FTPFile ff = fs[i];
if(ff.getName().equals(fileName)){
String localfilename = localfile;//按规则设置文件名这里你要下载文件,可以自己定义下载之后的文件名
File localFile = new File(localPath+File.separator+localfilename);

OutputStream is = new FileOutputStream(localFile);
//此处retrieveFile的第一个参数由GBK转为ISO-8859-1编码。否则下载后的文件内容为空。
ftp.retrieveFile(new String(ff.getName().getBytes("GBK"),"ISO-8859-1"), is);

is.close();
}
}
ftp.logout();
success = true;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return success;
}

❷ java 实现ftp上传如何创建文件夹

准备条件:java实现ftp上传用到了commons-net-3.3.jar包

首先建立ftphost连接

publicbooleanconnect(Stringpath,Stringaddr,intport,Stringusername,Stringpassword){
try{
//FTPClientftp=newFTPHTTPClient(addr,port,username,password);
ftp=newFTPClient();
intreply;
ftp.connect(addr);
System.out.println("连接到:"+addr+":"+port);
System.out.print(ftp.getReplyString());
reply=ftp.getReplyCode();

if(!FTPReply.isPositiveCompletion(reply)){
ftp.disconnect();
System.err.println("FTP目标服务器积极拒绝.");
System.exit(1);
returnfalse;
}else{
ftp.login(username,password);
ftp.enterLocalPassiveMode();
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
ftp.changeWorkingDirectory(path);
System.out.println("已连接:"+addr+":"+port);
returntrue;
}
}catch(Exceptionex){
ex.printStackTrace();
System.out.println(ex.getMessage());
returnfalse;
}
}

然后再利用ftpclient的makeDirectory方法创建文件夹

	publicvoidcreateDir(Stringdirname){
try{
ftp.makeDirectory(dirname);
System.out.println("在目标服务器上成功建立了文件夹:"+dirname);
}catch(Exceptionex){
System.out.println(ex.getMessage());
}
}

断开host连接

	publicvoiddisconnect(){
try{
ftp.disconnect();
}catch(IOExceptione){
e.printStackTrace();
}
}

最后是程序的调用方法

	publicstaticvoidmain(String[]args){
FtpUploadTestftpupload=newFtpUploadTest();
if(ftpupload.connect("","172.39.8.x",20,"administrator","abc@123")){
ftpupload.createDir("/UPLOAD");
ftpupload.disconnect();
}
}

❸ Java FTPClient 删除文件 deleteFile,文件目录多层时会出错,文件目录小于等于4层可以正常删除

中午也遇到调用ftp.deleteFile("文件全路径")删除文件失败;

建议:1.下文件路径是否正确(包括路径需从根目录开始 /)
2.文件名称若包含中文(new string(path.getBytes("GBK"),"ISO-8859-1"))注意编码问题
主要发现:题主说的用命令创建的文件无法删除问题!自己命令创建的txt文件是可以删除的;不知道题主删除不了的是什么文件;
另:发现 用这个函数删除文件时;ftp上文件已被删除但返回false 这个问题不知谁有遇到,还请不吝赐教

阅读全文

与javaftp权限相关的资料

热点内容
指纹锁中有没有单片机 浏览:692
怎么打开cmd命令 浏览:183
实现java的arraylist 浏览:783
云南服务器集群云服务器 浏览:773
土豪解压金猪视频 浏览:791
静态编译vc运行库 浏览:631
程序员除草完整视频 浏览:634
gpio命令 浏览:508
只会python能做算法吗知乎 浏览:687
免费的pdf转换软件 浏览:578
查看所有linux命令 浏览:860
写编程笔记本哪款好 浏览:452
javalist套list 浏览:447
哪些app是方舟编译器 浏览:332
安卓如何更新到苹果 浏览:116
雷风行电动车用什么app 浏览:120
基于or分解的信号检测算法 浏览:760
批量复制文件夹中所有文件的名称 浏览:231
如何映射远程服务器硬盘 浏览:21
加载源码分析 浏览:231