-1
A
回答
4
这是一个工作示例。请注意,您必须使用InputStream更改示例中的InputStream,并且您可能还想更改work/tmp dir()的位置。
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItem;
public class TestFile {
public static void main(String args[]) throws IOException {
// This is a sample inputStream, use your own.
InputStream inputStream = new FileInputStream("c:\\Kit\\Apache\\geronimo-tomcat6-javaee5-2.1.6\\README.txt");
int availableBytes = inputStream.available();
// Write the inputStream to a FileItem
File outFile = new File("c:\\tmp\\newfile.xml"); // This is your tmp file, the code stores the file here in order to avoid storing it in memory
FileItem fileItem = new DiskFileItem("fileUpload", "plain/text", false, "sometext.txt", availableBytes, outFile); // You link FileItem to the tmp outFile
OutputStream outputStream = fileItem.getOutputStream(); // Last step is to get FileItem's output stream, and write your inputStream in it. This is the way to write to your FileItem.
int read = 0;
byte[] bytes = new byte[1024];
while ((read = inputStream.read(bytes)) != -1) {
outputStream.write(bytes, 0, read);
}
// Don't forget to release all the resources when you're done with them, or you may encounter memory/resource leaks.
inputStream.close();
outputStream.flush(); // This actually causes the bytes to be written.
outputStream.close();
// NOTE: You may also want to delete your outFile if you are done with it and dont want to take space on disk.
}
}
相关问题
- 1. java将inputStream转换为base64字符串
- 2. 将InputStream转换为FileInputStream
- 3. 将Jetty Buffer转换为InputStream
- 4. 将inputStream转换为FileInputStream?
- 5. 将InputStreamReader转换为InputStream
- 6. 将InputStream转换为BufferedReader
- 7. 如何在Java ME中将StringBuffer转换为InputStream?
- 8. 在Java中,如何将InputStream转换为字节数组(byte [])?
- 9. 如何在Java/Groovy中将InputStream转换为BufferedImage?
- 10. 如何将InputStream转换为Java中的字符串?
- 11. 将inputStream从ZipFile转换为字符串
- 12. 将InputStream(图片)转换为ByteArrayInputStream
- 13. 如何将byte []转换为InputStream?
- 14. 将SAX ContentHandler字符(..)转换为InputStream
- 15. 如何将InputStream转换为DataHandler?
- 16. 如何将对象转换为InputStream
- 17. 如何将JSP InputStream转换为ServletResponse?
- 18. 将UTF字符串转换为InputStream
- 19. 如何将javax.xml.transform.Source转换为InputStream?
- 20. 如何将InputStream转换为Source?
- 21. Java - byte [] to FileItem
- 22. 我们可以在Java中将字节数组转换为InputStream吗?
- 23. 如何将InputStream转换为字符串到Java中的字节数组?
- 24. 在Java中将MP3转换为PCM
- 25. 在Java中将字符转换为Ints
- 26. 在java中将RSS源转换为JSON
- 27. 在java中将bean转换为Json
- 28. 在java中将byte []转换为long []
- 29. 在Java中将HTML转换为RTF?
- 30. 在java中将Object []转换为double []
FileItem是什么API? – Vulcan
org.apache.commons.fileupload – MrGreen