JavaのInputStreamをFileに変換する方法
このチュートリアルでは、「
File to InputStream
」と「
InputStream to File
」の変換方法を示します。
1.ファイルをInputStreamに変換する
ファイルを `File`オブジェクトに読み込み、それを次のプロセスのために「入力ストリーム」に変換する方法は?
File file = new File("/Users/mkyong/Downloads/file.js");
それを変換するには、 `FileInputStream`を使います。
File file = new File("/Users/mkyong/Downloads/file.js");
InputStream inputStream = new FileInputStream(file);
//or
InputStream inputStream =
new FileInputStream("/Users/mkyong/Downloads/file.js");
完全な例を読む
FileToInputStreamApp.java
package com.mkyong.core;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class FileToInputStreamApp {
public static void main(String[]args) {
InputStream inputStream = null;
BufferedReader br = null;
try {
//read this file into InputStream
inputStream = new FileInputStream("/Users/mkyong/Downloads/file.js");
br = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
System.out.println(sb.toString());
System.out.println("\nDone!");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
2. InputStreamをファイルに変換する
変換ではなく、 “Input Stream”を読み込み、それを `FileOutputStream`を介して別の新しいファイルに書き込む方法を示します
InputStreamToFileApp.java
package com.mkyong.core;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
public class InputStreamToFileApp {
public static void main(String[]args) {
InputStream inputStream = null;
OutputStream outputStream = null;
try {
//read this file into InputStream
inputStream = new FileInputStream("/Users/mkyong/Downloads/holder.js");
//write the inputStream to a FileOutputStream
outputStream =
new FileOutputStream(new File("/Users/mkyong/Downloads/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.flush();
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
参考文献
JavaDoc]。
http://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html
[FileOutputStream
JavaDoc]