目录
一:字节流写数据
OutputStream (由于OutputStream 是抽象类不能实例化所以用他的子类FileOutputStream)
FileOutputStream的构造方法
FileOutputStream(File file)
FileOutputStream(String name)
二:字节流写数据的方式
public void write(int b)//向指定字节输出流中写入一个字节
public void write(byte[] b)//向指定字节输出流中写入字节数组
public void write(byte[] b,int off,int len)向指定字节输出流中写入指定字节数组的内容
三:字节流写数据实例
字节流写数据步骤
1:创建字节输出流
2:利用写数据方法写数据
3:关闭资源(close())
字节流写数据例子
public static void main(String[] args) throws Exception{//为了观看方便就直接抛出大的异常
//创建字节输出流对象指定位置
FileOutputStream fo = new FileOutputStream("D:\\test\\a.txt");
//写数据写入一个一个字节写入
fo.write(98);
fo.write(99);
fo.write('a');
//关闭资源
fo.close();
}
}
结果是D:\\test中找a.txt文件写入如果没有就新建一个a.txt文件
内容是:bca
public static void main(String[] args) throws Exception{
//创建字节输出流对象指定位置
FileOutputStream fo = new FileOutputStream(new File("D:\\test\\b.txt" ));
//写数据写入字节数组一个字节数组写入
byte[] b = {99,58,63,20,52,14,85,96};
fo.write(b);
//关闭资源
fo.close();
}
结果是:c:?4U`
public static void main(String[] args) throws Exception{
//创建字节输出流对象指定位置
FileOutputStream fo = new FileOutputStream(new File("D:\\test\\b.txt" ));
//写数据写入字节数组一个字节数组一部分写入
byte[] b = {99,96,99,97,100,96};
fo.write(b,0,4);//从组索引为0到索引为3写入
//关闭资源
fo.close();
}
结果是覆盖了之前b中内容:c`ca
字节流追加写数据
FileOutputStream(String name, boolean append)
创建文件输出流以指定的名称追加写入文件。
public static void main(String[] args) throws Exception{
//创建字节流对象,指定为追加
FileOutputStream fo = new FileOutputStream("D:\\test\\a.txt", true);
//写一个字节数组数据到文件流中
byte[] bytes = "hello world".getBytes();
fo.write(bytes);
//关闭输出流
fo.close();
}
结果是a中变为了:bcahello world
四:字节流读取数据
InputStream(由于IutputStream 是抽象类不能实例化所以用他的子类FileIutputStream)
把刚才写的数据读取出来显示在控制台
FileInputStream的构造方法
FileInputStream(File file)
FileInputStream(String name)
五:字节读取数据的方法
public int read()一次读取一个字节
public int read(byte[] b)一次读取一个字节数组
六;字节流读取数据实例
字节流读取数据步骤
1、创建FileInputStream对象
2、调用read方法读取数据,输出到控制台
3、释放资源
字节流读取数据实例
public static void main(String[] args) throws Exception{
//创建输入流数据
FileInputStream fi = new FileInputStream("D:\\test\\a.txt");
//读取数据
int b = 0;
while((b=fi.read())!=-1){
System.out.print(b+",");
}
//关闭资源
fi.close();
}
}
98,99,97,104,101,108,108,111,32,119,111,114,108,100,
Process finished with exit code 0
public static void main(String[] args) throws Exception{
//创建输入流数据
FileInputStream fi = new FileInputStream("D:\\test\\a.txt");
//读取数据
byte[] b = new byte[1024];
int length =0;
while((length=fi.read(b))!=-1){
String s = new String(b, 0, b.length);
System.out.println(s);
}
//关闭资源
fi.close();
}
bcahello world Process finished with exit code 0