Write InputStream to a file
本问题已经有最佳答案,请猛点这里访问。
我有一个对象,在这个对象中我有一个包含文件的输入流。
我要将inputstream中的内容写入文件夹中的文件。
我将如何在核心Java中实现这一点呢?
我可以使用bufferedreader和.readline()打印出inputstream的每一行,但是我希望将整个文件写入磁盘,而不仅仅是其中的内容。
希望这是合理的,谢谢。
如果您使用的是Java 7或以上,可以使用EDCOX1 OR 0:
1 2 3 |
它还支持不同的选项(参见
很肯定它已经在外面了,你可以用谷歌搜索它。但是,当您询问如何写入文件夹内的文件时,假设inputstream变量名为"
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | FileOutputStream output = null; try { // Create folder (if it doesn't already exist) File folder = new File("<path_to_folder>\\<folder_name>"); if (!folder.exists()) { folder.mkdirs(); } // Create output file output = new FileOutputStream(new File(folder,"<file_name>")); // Write data from input stream to output file. int bytesRead = 0; byte[] buffer = new byte[4096]; while ((bytesRead = input.read(buffer)) != -1) { output.write(buffer, 0, bytesRead); } } catch (IOException ioex) { ioex.printStackTrace(); } finally { try { if (output != null) { output.close(); } } catch (IOException ioex) { ioex.printStackTrace(); } // Also close InputStream if no longer needed. try { if (input != null) { input.close(); } } catch (IOException ioex) { ioex.printStackTrace(); } } |
号