字节流
字节流:
Java中将传输数据的通道成为流,根据流操作的方向可以将流分为输入流和输出流两种,通过输入流可以实现程序与文件之间数据的传递,我们将输入输流简称io流
Java中的io流是实现数据传递的基础,所有实现io流的类都存放在Java.io包中
方法名称
说明
wold dose0
关闭此输入流并释放与该流关联的所有系统资源
void mark(int readlimit
在此输入流中标记当前的位置
vold read()
从输入流中读取下一个字节的数据
int read(bytel b)
从输入流中读取一定数量的字节,并将其存储在数组b
int read(byte[] b, int off, int len)
读取输入流中len个字节数据,并将其存储在数组b
InputStream类中常用方法,由于在使用I0流时会占用系统的性能,因此当1
后必须将其关闭,关闭输入流可以使用close0方法。读取文件中的数据可以使用read(方法
钶以逐个地读取字节数据,有参的read(方法可以一次性读取多个字节数据,并且将读取的
OutputStream类可以将程序中的数据写入指定文件, OutputStream类中常用的方法见
Outputtream
类中常用的方法
说明
方法名称
关闭此输出流并释放与此流有关的所有系统资源
void close0
房新此输出流井强制写出所有缓冲的输出字节
void flushO
File
将b.length
个字节从指定的byte 数组写入文件
void wnite(byte] b)
路byte数组中下标off开始的len个字节写入文位
void write(bytel b, int oft int len)
表
将指定内容写入文件
void write(intb)
建充对
表5-2列出了OutputStream类中常用的方法, flush0方法可以刷新输出流,将缓冲区的数据
目标文件: wite0方法可以将字节写入文件中,其中只传递int类型参数的
wite0方法可以将字节连作
件,其他两个传递byte数组的write0方法可以将数组中的字节一-次性写入文件。
import java.io.FileInputStream; public class FileIputStreamTest { public static void main(String[] args) { // TODO Auto-generated method stub FileInputStream input=null; try { input =new FileInputStream("D:\\春水初生.txt"); byte[] b=new byte[1024]; int len=0;//保存每次读取的长度 while((len=input.read(b))!=-1){ String s=new String(b,0,len);//将读取的字节构造为字符串 System.out.println(s);//输出字符串 } } catch (Exception e) { // TODO: handle exception } finally { try { if(input!=null){ input.close(); } } catch (Exception e2) { // TODO: handle exception } } } }