2012-04-11 31 views
0

我需要從jsp頁面上傳.dat文件。我正在使用struts。我使用如何使用JSP,Java(Struts。)上傳dat文件?

<input type="file" name="file" size=25 /> 

在JSP和動作類

FileUploadForm uploadForm = (FileUploadForm) form; 
FormFile file = uploadForm.getFile(); 
InputStream stream = file.getInputStream(); 

在此之後我感到困惑。我不想打開並閱讀dat文件,因爲它的大小可能很大。我只是想根據dat文件的原始名稱在服務器的某個指定路徑中創建/複製相同的dat文件。怎麼做?

如果沒有其他的方式,但閱讀它然後告訴我如何讀取和寫入到dat文件。

回答

1

這些都是你需要爲了完成這項任務,完成任務:

  1. 決定在哪裏上傳的文件將被存儲在服務器
  2. 打開的輸出流在適當的位置上的文件中從它的上載的數據
  3. 副本的輸入流,以輸出 流

下面是一些僞代碼,利用的Apache IOUtils複製流數據:

final FormFile formFile = uploadForm.getFile(); 
final String outPath = "/somerootpath/" + formFile.getFileName(); 
final OutputStream outStream = new FileOutputStream(outPath); 
IOUtils.copy(formFile.getInputStream(), outStream); 
IOUtils.closeQuietly(outStream); 
+0

非常感謝您的回答。但編譯器錯誤即將到來,並說「方法IOUtils.copy(InputStream,OutputStream)未定義類型IOUtils」和IOUtils.closeQuietly(outStream)相同; – 2012-04-11 05:02:30

+0

要使用Apache IOUtils,您需要[下載它](http://commons.apache.org/io/download_io.cgi)並將JAR包含在您的構建路徑中。 – Perception 2012-04-11 05:06:09

+0

非常感謝主席先生。有效。 – 2012-04-11 05:18:03