//把指定目录下所有的文件上传到ftp服务器上 public void uploadAllFilesInFolder(String folderName,String ftpPath)throws Exception{ if (isLogin) { String strMsg=""; try{ File file=new File(folderName); if(file.isDirectory()){ ftpClient.chdir("\\"); ftpClient.setType(FTPTransferType.BINARY); if (checkFolderIsExist(ftpPath)) { ftpClient.chdir(ftpPath); } else { createFolder(ftpPath); } File[] files=file.listFiles(); for(int i=0;i<files.length;i++){ if(files[i].isFile()){ try{ ftpClient.put(files[i].getPath(),files[i].getName()); }catch(Exception ee){ strMsg+="upload file<<:"+files[i].getPath()+">> error!Message:"+ee.getMessage()+"\r\n"; } } } }else{ throw new Exception(folderName+" is not a folder'name!"); } }catch(Exception e){ throw new Exception(e.getMessage()); } } else { throw new Exception("you didnot login remote ftp server!"); } } //上传指定文件到ftp服务器上 public void uploadFile(String clientFileName, String ftpPath) throws Exception { if (isLogin) { try { //获取文件名 String filename = ""; int index = clientFileName.lastIndexOf("\\"); filename = clientFileName.substring(index + 1); ftpClient.chdir("\\"); ftpClient.setType(FTPTransferType.BINARY); if (checkFolderIsExist(ftpPath)) { ftpClient.chdir(ftpPath); } else { createFolder(ftpPath); } ftpClient.put(clientFileName, filename); } catch (Exception ex) { throw new Exception(ex.getMessage()); } } else { throw new Exception("you didnot login remote ftp server!"); } } // 检查FTP服务器上文件夹是否存在 public boolean checkFolderIsExist(String pFolder) throws Exception { if (isLogin) { String folder=pFolder.trim(); if(folder.startsWith("\\")) folder=folder.substring(1); if(folder.endsWith("\\")) folder=folder.substring(0,folder.length()-1); String strLayer=".."; if(folder.indexOf("\\")>0){ String[] folders=folder.split("\\\\"); for(int i=1;i<folders.length;i++){ strLayer+=","; } } boolean result=false; try { ftpClient.chdir(folder); ftpClient.chdir(strLayer); result=true; } catch (Exception ex) { result=false; } return result; } else { throw new Exception("you didnot login remote ftp server!"); } } //创建远程FTP服务器文件夹 public void createFolder(String pFolder) throws Exception { if (isLogin) { if (checkFolderIsExist(pFolder) == false) { try { String path = ""; ftpClient.chdir("\\"); String[] folders = pFolder.split("\\\\"); for (int i = 0; i < folders.length; i++) { try { ftpClient.chdir(folders[i]); } catch (Exception ex) { ftpClient.mkdir(folders[i]); ftpClient.chdir(folders[i]); } } } catch (Exception ex) { throw new Exception(ex.getMessage()); } } } else { throw new Exception("you didnot login remote ftp server!"); } } public static void main(String[] args) { try{ FTPUpload ftp=new FTPUpload("192.168.0.176","21","",""); ftp.uploadAllFilesInFolder("D:\\my driver\\Sony DSC","yhp"); }catch(Exception e){ System.out.println(e.getMessage()); } } }
详细解决方案
利用edtftpj组件实现FTP文件的下传-方法二(2)
热度:102 发布时间:2012-09-03 09:48:39.0
相关解决方案