2010-02-11 78 views
0

我正在使用Apache Commons Uploader软件包,并试图读取正在上传的文件。我有一个FileItem对象。阅读FileItem对象的最佳模式

该文件的前几行是ASCII,我希望能够读取它们并提取它们中包含的元数据。要做到这一点,最好的方法/模式是什么?

回答

2

FileItem呼叫getInputStream(),包裹在一个BufferedReader,然后阅读使用BufferedReader.readLine()行文件行,直到你读过的元数据。

1
 final List<FileItem> files = new ServletFileUpload(new DiskFileItemFactory()) 
       .parseRequest(httpRequest.getWrappedRequest()); 
     final List<Long> images = new ArrayList<>(); 
     for (final FileItem file : files) { 
      if (file.getFieldName().equals("file")) { 
       final InputStream stream = file.getInputStream(); 
       final byte[] bytes = IOUtils.toByteArray(stream); 

       ... 
       file.delete(); 
      } 
     } 
     files.clear();