public void get(Object o) throws Exception
{
//
//對FTPClient的處理,
//
FtpClient fc=new FtpClient();
String path;//文件的存儲路徑
if(1==1) //不存在某文件則報錯
{
throw new Exception();
}
else //不存在則繼續執行
{
try{
dealFTPfiles(o,fc,path);
}catch()
{
}
finally
{
//刪除文件
}
}
}
//對文件夾進行遍歷獲得文件,以及將文件COPY到指定目錄中
public void dealFTPfiles(Object o,FtpClient fc,String pathTemp)
{
FTPFiles[] ftpFiles=fc.listFiles(pathTemp);
Topo topo=new Topo();
//topo.setSomethings //將相關信息保存進去
int countSize=0; //用於記錄文件的個數,並將來用於保存對象
String folderPath=null; //用於存放文件的名稱
boolean isFolder=false; //用於判斷是上傳的是文件夾 還是文件
for(int i=0;i<ftpFiles.length;i++) //前提是這個獲取文件的方式是順序來的,而不是逆序
{
if(3<=countSize)
{
if(3!=countSize||null==topo.setImageNames||null==to。。。//設置相關內容是否爲空)
{
//拋出異常
}
else
{
countSiz=0;
//再去查找數據庫,看是否有相同的topo名稱,如果有則覆蓋
//保存進入數據庫
topo.setName="";
folderPath="";
}
}
if(ftpFiles[i].isDictoryDir())
{
isFolder=true;
String path=path+Files.seperators+ftpFiles[i].getNanme; //遞歸調用,一直到最底下的文件
dealFTPfiles(o,fc,path);
}
else //是文件的時候,則在目錄中複製它的文件件名並將該文件COPY到TOPOLOGICAL當中去,並刪除該文件
{
if(!isFolder)
{
//報錯
}
if(null=topo.getName()||""==topo.getName())//對topo的name進行設置
{
folderPath=//將名字保存進來 //獲取文件夾的名字
topo.setName()//
if()//檢查該文件所在的文件夾是否在TOPOLOGICAL中創建,未創建,則創建,
{
//創建文件夾
}
}
String fileName=ftpFilesp[i].toLowerCase() ;
if(fileName.getName())//用於圖片的判斷,將圖片路徑保存進去
{
//對topo的附件進行圖片設置
countSize++;
//對其進行重建,
}
if else(fileName.getName()) //用於判斷是否是XML
{
countSize++;
//對其進行重建,
}
else
{
//對topo的附件進行名字設置
countSize++;
//對其進行重建,
}
}
}
}