如何在Java中将InputStream转换为File
- 工作小总结
- 时间:2021-11-23 16:36
- 3394人已阅读
简介
以下是一些将InputStream转换为File Java示例
手动将InputStream复制到FileOutputStream
Apache Commons IO – FileUtils.copyInputStreamToFile
Java 1.7 NIO Files.copy
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
手动将
InputStream
复制到FileOutputStream
Apache Commons IO –
FileUtils.copyInputStreamToFile
Java 1.7 NIO
Files.copy
1. FileOutputStream
InputStreamToFile.java
package com.kaigejava; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URI; public class InputStreamToFile { private static final String FILE_TO = "d:\\download\\google.txt"; public static void main(String[] args) throws IOException { URI u = URI.create("https://www.google.com/"); try (InputStream inputStream = u.toURL().openStream()) { File file = new File(FILE_TO); copyInputStreamToFile(inputStream, file); } } // InputStream -> File private static void copyInputStreamToFile(InputStream inputStream, File file) throws IOException { try (FileOutputStream outputStream = new FileOutputStream(file)) { int read; byte[] bytes = new byte[1024]; while ((read = inputStream.read(bytes)) != -1) { outputStream.write(bytes, 0, read); } // commons-io //IOUtils.copy(inputStream, outputStream); } } }
2. Apache Commons IO
pom.xml
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.6</version> </dependency>
InputStreamToFile2.java
package com.kaigejava; import org.apache.commons.io.FileUtils; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URI; public class InputStreamToFile2 { private static final String FILE_TO = "d:\\download\\google.txt"; public static void main(String[] args) throws IOException { URI u = URI.create("https://www.google.com/"); try (InputStream inputStream = u.toURL().openStream()) { File file = new File(FILE_TO); // commons-io FileUtils.copyInputStreamToFile(inputStream, file); } } }
3. Java 1.7 NIO
InputStreamToFile3.java
package com.kaigejava; import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.nio.file.Files; import java.nio.file.Paths; public class InputStreamToFile3 { private static final String FILE_TO = "d:\\download\\google.txt"; public static void main(String[] args) throws IOException { URI u = URI.create("https://www.google.com/"); try (InputStream inputStream = u.toURL().openStream()) { //Java 1.7 Files.copy(inputStream, Paths.get(FILE_TO)); } } }
4.旧时光
InputStreamToFile4.java
package com.kaigejava; import java.io.*; public class InputStreamToFile4 { public static void main(String[] args) { InputStream inputStream = null; OutputStream outputStream = null; try { // read this file into InputStream inputStream = new FileInputStream("/Users/mkyong/holder.js"); // write the inputStream to a FileOutputStream outputStream = new FileOutputStream(new File("/Users/mkyong/holder-new.js")); int read = 0; byte[] bytes = new byte[1024]; while ((read = inputStream.read(bytes)) != -1) { outputStream.write(bytes, 0, read); } System.out.println("Done!"); } catch (IOException e) { e.printStackTrace(); } finally { if (inputStream != null) { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } if (outputStream != null) { try { outputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
5.将文件转换为InputStream
File file = new File("d:\\download\\google.txt"); InputStream inputStream = new FileInputStream(file);
来源:https://blog.csdn.net/cyan20115/article/details/106554092
上一篇: SpringBoot读取Resource下文件的几种方式
下一篇: input标签内发生变化进行监听