导包
java中的“流”都位于java.io包中,称为IO(输入输出)流;
字节流
java.io.InputStream
java.io.OutputStream
字符流
java.io.Reader
java.io.Writer
字节流
常用方法
InputStream
方法说明 | 功能描述 |
---|---|
int read() | 从输入流读取一个8位字节,把他转换位0~255之间的整数,并返回一个整数 |
int read(byte[] b) | 从输入流读取若干字节,把他们保存到参数b指定的字节数组中,返回的整数表示读取字节的数目 |
int read(byte[] b,int off,int len) | 从输入流读取若干字节,把他们保存到参数b指定的字节数组中,off指定字节数开始保存没数据的起始下标,len表示读取的字节数目 |
void close() | 关闭此输入流并释放于该流关联的所有系统资源 |
OutputStream
方法说明 | 功能描述 |
---|---|
void write(int b) | 向输出流写入一个字节 |
void write(byte[] b) | 把参数b指定的字节数组的所有字节写到输入流 |
void write(byte[] b,int off,int len) | 将指定byte数组中从偏移量off开始的len个字节写入输入流 |
void flush() | 刷新此输入流并强制写入所有缓冲的输出字节 |
void close() | 关闭此输入流并释放与此流相关的所有系统资源 |
字节流读写文件
FileInputStream 是 InputStream 的子类 ,它是操作文件的字节输入流,专门用于读取文件的数据
import java.io.*;
public class Temp{
public static void main(final String[] args) throws Exception {
final FileInputStream in = new FileInputStream("D:\\myfile\\java\\io\\temp.txt");
int b = 0;
while(true){
b = in.read();
if(b == -1){
break;
}
System.out.println(b);
}
in.close();
}
}
FileOutputStream 是 OutputStream 的子类,它是操作文件的字节流,专门用于把数据写入文件;向已经存在的文件中增加内容,可使用函数FileOutputStream(String fileName,boolean append)来创建文件传输
//导包
import java.io.FileOutputStream;
public class FileOutputStream_Test{
public static void main(String[] args) throws Exception{
// FileOutputStream out = new FileOutputStream("D:\\myfile\\java\\Java\\learn\\temp.txt");
//向文件中增加内容
FileOutputStream out = new FileOutputStream("D:\\myfile\\java\\Java\\learn\\