導航:首頁 > 編程語言 > 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許可權相關的資料

熱點內容
西部數據加密工具 瀏覽:135
為什麼安卓手機玩王者技能箭頭慢 瀏覽:234
程序員特訓工資 瀏覽:133
飛機游戲演算法 瀏覽:106
方舟退出伺服器後怎麼重新加入 瀏覽:87
中國數字貨幣是什麼APP 瀏覽:331
電腦數據怎麼備份到伺服器 瀏覽:368
關注武漢看什麼APP 瀏覽:901
php7安裝和配置 瀏覽:118
陝西高配伺服器雲主機 瀏覽:694
什麼是零工app 瀏覽:559
我的世界命令方塊指令召喚火球 瀏覽:942
pdfeditor密鑰 瀏覽:266
程序員軟考考哪個證 瀏覽:660
電話號碼存在sd卡的哪個文件夾 瀏覽:199
javaftp許可權 瀏覽:179
lstm演算法應用 瀏覽:843
日本國語動漫有什麼app 瀏覽:235
新iphone如何同步安卓機數據 瀏覽:555
股票行情庫橫向統計演算法 瀏覽:997