Java提供非常豐富的輸入輸出(Input/Output:I/O)功能,今天先看FileInputStream跟FileOutputStream。
從名字不難看出,FileInputStream是用來讀入(read)文件,而FileOutputStream是用來寫入(write)文件。FileInputStream與FileOutputStream的特點是,它們是以8-bit 的 bytes 來進行輸入輸出,也就是它無法處理 unicode(16-bit) 的文字。
以下是FileInputStream與FileOutputStream的例子:
import java.io.*;
public class CopyFile {
public static void main(String args[]) throws IOException
{
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("input.txt");
out = new FileOutputStream("output.txt");
int c;
while ((c = in.read()) != -1) {
out.write(c);
}
}finally {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
}
}
}
測試這個例子前,先要在程式目錄建立一個"input.txt"的文件,裡面可隨意輸入一些文字。程式會新建一個"output.txt",並將"input.txt"裡面的內容全部複製過去。
[image credit: Matthew Clark]