java之inputstream转file
Apache Commons IO提供了一个便捷的工具类FileUtils,可以轻松地将InputStream写入到File中。
Java
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.io.InputStream;
public class InputStreamToFile {
public static void inputStreamToFile(InputStream inputStream, File destFile) throws IOException {
FileUtils.copyInputStreamToFile(inputStream, destFile);
}
}
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class InputStreamToFile {
public static void inputStreamToFile(InputStream inputStream, File destFile) throws IOException {
try (FileOutputStream outputStream = new FileOutputStream(destFile)) {
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, len);
}
}
}
}
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class InputStreamToFile {
public static void inputStreamToFile(InputStream inputStream, File destFile) throws IOException {
try (FileOutputStream outputStream = new FileOutputStream(destFile);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream)) {
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
bufferedOutputStream.write(buffer, 0, len);
}
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (InputStream inputStream = new FileInputStream("source.txt")) {
File destFile = new File("destination.txt");
InputStreamToFile.inputStreamToFile(inputStream, destFile);
System.out.println("文件转换成功!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
将InputStream转换为File是Java IO编程中常见的操作。通过上述方法,我们可以根据不同的需求选择合适的方式进行转换。在实际应用中,建议使用Apache Commons IO提供的FileUtils工具类,可以简化代码,提高开发效率。
选择哪种方法取决于以下因素:
希望这个回答对你有帮助!
如果你还有其他问题,欢迎随时提问。
想了解更多关于Java IO的内容,可以关注以下方面: