我用FtpClient批量下载文件运行到new BufferedInputStream(client.get(s),10000)时经常就不能继续运行,请问怎么解决

解决方案 »

  1.   

    public void downloadFiles(){
    DataInputStream dis=null;
    BufferedInputStream inFile=null;
    BufferedOutputStream outFile=null;
    try {
    dis = new DataInputStream(client.list());
    int   readCount;
    String   s="";
    while((s=dis.readLine())!=null){
    String[] a=s.split(" ");
    s=new String(a[a.length-1].getBytes("iso8859-1"),"GBK");
    System.out.println("Getting:"+s);
    fileNames.add(s);
    File file=new File(savePath);
    if(!file.exists()){
    FileOption.createFolder(file);
    }
    inFile=new BufferedInputStream(client.get(s),10000);
    System.out.println("stop"+s);////////////////
    outFile=new BufferedOutputStream(
    new FileOutputStream(new File(savePath+s))); byte[]buffer=new byte[1024];
    while((readCount =inFile.read(buffer))!=-1)   {
    byte[]t=new byte[readCount];
        System.arraycopy(buffer,0,t,0,readCount);
        outFile.write(t);
        outFile.flush();
    }
    }
    }catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } finally{
    if(dis!=null){
    try {
    dis.close();
    dis=null;
    } catch (IOException e) {
    }
    }
    if(inFile!=null){
    try {
    inFile.close();
    inFile=null;
    } catch (IOException e) {
    }
    }
    if(outFile!=null){
    try {
    outFile.close();
    outFile=null;
    } catch (IOException e) {
    }
    }
    }
    }
    这是下载的完整代码