FileOutputStream() 字节流输出。
import java.io.FileOutputStream;
import java.io.IOException;
public class FileOutputStreamDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
FileOutputStream fos = new FileOutputStream("fos_demo.txt");
fos.write("leesung_heima".getBytes());
fos.close();
}
}
FileInputStream()字节流读取。
三种方式
import java.io.FileInputStream;
import java.io.IOException;
public class FileInputStreamDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
InputStreamReaderFile_1();
InputStreamReaderFile_2();
InputStreamReaderFile_3();
}
// 1、单字节读取文件。
public static void InputStreamReaderFile_1() throws IOException {
FileInputStream fis = new FileInputStream("fos_demo.txt");
int data = 0;
while ((data = fis.read()) != -1) {
System.out.println((char) data);
}
fis.close();
}
// 2、定义一个byte[1024]大小的缓冲区读取文件。
public static void InputStreamReaderFile_2() throws IOException {
FileInputStream fis = new FileInputStream("fos_demo.txt");
byte[] data = new byte[1024];
int len = 0;
while ((len = fis.read(data)) != -1) {
System.out.println(new String(data, 0, len));
}
fis.close();
}
// 3、定义一个和文件一样大的缓冲区读取文件。
public static void InputStreamReaderFile_3() throws IOException {
FileInputStream fis = new FileInputStream("fos_demo.txt");
// 定义一个刚刚好的一个缓冲区,不用在循环了。缺点是读取文件有多大他就在内存消耗多大的空间。
byte[] data = new byte[fis.available()];
fis.read(data);
System.out.println(new String(data));
fis.close();
}
}
复制一个图片
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
public class CopyTupian {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
FileInputStream fis = null;
FileOutputStream fos = null;
try {
fis = new FileInputStream("android.jpg");
fos = new FileOutputStream("copy_tupian.jpg");
byte[] data = new byte[1024];
int len = 0;
while ((len = fis.read(data)) != -1) {
fos.write(data, 0, len);
fos.flush();
}
} catch (IOException e) {
throw new RuntimeException("读写失败");
} finally {
try {
if (fis != null)
fis.close();
} catch (IOException e) {
throw new RuntimeException("读取关闭失败");
}
try {
if (fos != null)
fos.close();
} catch (IOException e) {
throw new RuntimeException("写入关闭失败");
}
}
}
}