字节流两个基类
InputStream 读
OutputStream 写
字符流的两个基类
Reader
Writer
这四个抽象类派生出来的子类都是以其父类名作为子类后缀的
OutputStream
基本方法:
close()
flush()
write() 参数为:byte[] b,int b
InputStream
基本方法
read()
int avaliable() 返回文件中的剩余字节个数。即文件大小,这样就可以定义一个数组来恰好装下数据。但是数据量太大不可以这样用
字节流的缓冲区:
BufferedOutputStream(os流对象)
write()方法
BufferedInputStream(oi流对象)
read()方法
举例应用:
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException
{
FileOutputStream fo = new FileOutputStream("C:\\Users\\zx\\Desktop\\zx.txt");
fo.write("abcde".getBytes());
//不需要刷新,就能显示。
fo.close();
FileInputStream fl = new FileInputStream("C:\\Users\\zx\\Desktop\\zx.txt");
int ch=0;
while((ch=fl.read())!=-1)
{
sop(fl.available());
sop((char)ch);
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
图片文件拷贝应用
import java.io.*;
public class Test {
public static void main(String[] args) throws IOException
{
FileOutputStream fo=null;
FileInputStream fi = null;
try
{
fo = new FileOutputStream("d://2.png");
fi = new FileInputStream("d://1.png");
byte [] b = new byte[1024];
int len = 0;
while((len=fi.read(b))!=-1)
{
fo.write(b,0,len);
}
}
catch(IOException e)
{
}
finally
{
fi.close();
fo.close();
}
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}