2014-09-06 95 views
0

某個位置的文件被添加到服務器項目中的另一個文件夾。在按下按鈕時從服務器下載文件

項目FileShareServer

private boolean writefiletoServerfolder() throws IOException { 
    String filetype = categorycombo.getValue().toString(); 
    // int i = 0; 
    File file = null; 
    File imagefile = null; 
    String imagename=null; 
    String filename=null; 
    FileChannel channel = null; 
    FileOutputStream fileOutputStream = null; 
    FileInputStream fileinputstream = null; 
    //map=new HashMap<>(); 


    for (int i = 0; i < fileList.size(); i++) { 
     if (filetype.equals("Apps")) { 
      file = new File("D:\\SERVER\\Server Content\\Apps\\" + fileList.get(i).getName()); 
      imagefile = new File("D:\\SERVER\\Server Content\\Apps\\icons\\" + imagelist.get(i).getName()); 
      imagename=imagefile.getName(); 
      filename=file.getName(); 
      //map.put(filename, imagename); 

     } else if (filetype.equals("Games")) { 
      file = new File("D:\\SERVER\\Server Content\\Games\\" + fileList.get(i).getName()); 
      imagefile = new File("D:\\SERVER\\Server Content\\Games\\icons\\" + imagelist.get(i).getName()); 
      imagename=imagefile.getName(); 
      filename=file.getName(); 
      // map.put(filename, imagename); 

     } else if (filetype.equals("Movies")) { 
      file = new File("D:\\SERVER\\Server Content\\Movies\\" + fileList.get(i).getName()); 
      imagefile = new File("D:\\SERVER\\Server Content\\Movies\\icons\\" + imagelist.get(i).getName()); 
      imagename=imagefile.getName(); 
      filename=file.getName(); 
      //map.put(filename, imagename); 

     } else if (filetype.equals("Songs")) { 
      file = new File("D:\\SERVER\\Server Content\\Songs\\" + fileList.get(i).getName()); 
      imagefile = new File("D:\\SERVER\\Server Content\\Songs\\icons\\" + imagelist.get(i).getName()); 
      imagename=imagefile.getName(); 
      filename=file.getName(); 
      // map.put(filename, imagename); 
     } 
    } 

    List<File> fileandimagedest = new ArrayList(); 
    fileandimagedest.add(file); 
    fileandimagedest.add(imagefile); 

    List<String> fileandimagesrc = new ArrayList(); 
    fileandimagesrc.add(filepath); 
    fileandimagesrc.add(imagepath); 
    boolean bool = false; 

    for (String path : fileandimagesrc) { 
     for (File file1 : fileandimagedest) { 
      try { 
       fileinputstream = new FileInputStream(path); 
       fileOutputStream = new FileOutputStream(file1); 

       long starttime = System.currentTimeMillis(); 
       byte[] buf = new byte[1024]; 
       int byteRead; 
       while ((byteRead = fileinputstream.read(buf)) > 0) { 
        fileOutputStream.write(buf, 0, byteRead); 
        bool = true; 
       } 
      } finally { 
       if (bool) { 
        fileinputstream.close(); 
        fileOutputStream.close(); 
       } 

      } 
     } 
    } 
    return true; 
} 

什麼我需要是在在客戶端按下一個按鈕,從服務器下載文件到客戶端。

項目fileshare客戶端。

public void downloadbuttonAction() { 
    downloadbtn.setOnAction(new EventHandler<ActionEvent>() { 

     @Override 
     public void handle(ActionEvent event) { 

     } 
    }); 
} 

我已經實現從服務器下載文件。我只需要按下按鈕就可以做到這一點。

+0

就叫你所寫的方法 – ItachiUchiha 2014-09-06 15:06:10

回答

0

在按下按鈕時調用方法不起作用?

喜歡:

public void downloadbuttonAction() { 
    downloadbtn.setOnAction(new EventHandler<ActionEvent>() { 

     @Override 
     public void handle(ActionEvent event) { 
      writefiletoServerfolder(); 
     } 
    }); 
}