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

熱點內容
javaweb系統設計 瀏覽:374
假如給我三天光明pdf 瀏覽:761
小米文件夾顯示私密文件 瀏覽:760
易輯編譯sci科研 瀏覽:449
當代程序員的日常生活 瀏覽:649
湖北黃石dns伺服器雲主機 瀏覽:581
奇異博士是個什麼app 瀏覽:259
單片機數碼管閃爍 瀏覽:953
有什麼閱讀小說免費的app 瀏覽:661
華潤電力是個什麼app 瀏覽:372
java與jni線程 瀏覽:202
c語言哈夫曼編碼壓縮 瀏覽:27
單片機零基礎入門 瀏覽:437
千鋒python3基礎視頻 瀏覽:578
linuxintel程序 瀏覽:977
光遇登陸伺服器連接失敗什麼意思 瀏覽:767
jd檢測手機新老介面源碼 瀏覽:126
java調用interface 瀏覽:3
解決點面之間是否存在聯系的演算法 瀏覽:274
如何架構雲伺服器 瀏覽:399