-3

PC フォルダーにファイルをアップロードするための jsp プログラムを実装しました。このフォルダのパスはE:\UploadedFile. ダウンロードしたいファイル名はassad.xml(アップロードしたばかりのファイル名)です。これは私がそれをダウンロードしようとしている方法です。コードを確認して、間違っている場合は修正してください。

<%@page import="java.io.*,java.net.*"%>


 <%
  System.setProperty("http.proxyHost", "192.168.1.10");
    System.setProperty("http.proxyPort", "8080");
 try {
    /*
     * Get a connection to the URL and start up
     * a buffered reader.
     */
    long startTime = System.currentTimeMillis();  
    System.out.println("Connecting to URL...\n");  
    URL url = new URL("E://UploadedFiles/");
    url.openConnection();
    InputStream reader = url.openStream();  
    /*
     * Setup a buffered file writer to write
     * out what we read from the website.

     */
    FileOutputStream writer = new FileOutputStream("E:/assad.xml");
    byte[] buffer = new byte[153600]; // Buffer for 150K blocks at a time
    int totalBytesRead = 0;
    int bytesRead = 0;
    System.out.println("Reading ZIP file 150KB blocks at a time.\n");  

    while ((bytesRead = reader.read(buffer)) > 0){  
       writer.write(buffer, 0, bytesRead);
       buffer = new byte[153600];
       totalBytesRead += bytesRead;
    }  
    long endTime = System.currentTimeMillis();  

    System.out.println("Done. " + (new Integer(totalBytesRead).toString()) + " bytes
  read (" + 
           (new Long(endTime - startTime).toString())+ " millseconds).\n");
    writer.close();
    reader.close();
 }catch (MalformedURLException e){
    e.printStackTrace();
 }
 catch (IOException e){
    e.printStackTrace();
 }

 %>

ファイルをアップロードしたばかりのフォルダーの名前はUploadedFilesで、E: driveにあります。ダウンロードしたいファイルの名前はassad.xmlです。このフォルダ内で利用できます。

4

1 に答える 1

0

Renjith が言ったように、おそらくファイル名を反転させたのでしょう。より一貫性のある API については、http: //hc.apache.org/httpcomponents-core-ga/index.htmlをご覧ください。

于 2013-01-15T13:25:22.123 に答える