在您的第一个代码片段中,您使用OutputStream,但它不起作用。在第二部分中,您使用InputStream(或它的任何暗示),并且它可以工作:)您可能想尝试使用getInputStream()代替…
OutputStream将写入不读取的字节。
http://commons.apache.org/fileupload/apidocs/org/apache/commons/fileupload/disk/DiskFileItem.html
试试这个,很简单,从头开始只是为了帮助:
final File TEST_FILE = new File("D:/my_text.txt"); //final DiskFileItem diskFileItem = new DiskFileItem("fileData", "text/plain", true, TEST_FILE.getName(), 100000000, TEST_FILE); try { DiskFileItem fileItem = (DiskFileItem) new DiskFileItemFactory().createItem("fileData", "text/plain", true, TEST_FILE.getName()); InputStream input = new FileInputStream(TEST_FILE); OutputStream os = fileItem.getOutputStream(); int ret = input.read(); while ( ret != -1 ) { os.write(ret); ret = input.read(); } os.flush(); System.out.println("diskFileItem.getString() = " + fileItem.getString()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }


