字节流:
1:基本字节输出流的操作
A:创建字节输出流对象
FileOutputStream fos = new FileOutputStream("a.txt");
B:调用写数据的方法
fos.write(97);
C:释放资源
fos.close();
注意:写数据的方法有
write(byte b)
write(byte[] bys);
write(byte[] bys, int start,int lenth);
追加写入用两个参数构造
FileOutputStream fos = new FileOutputStream("a.txt",true);
2:基本字节输入流的操作
FileInputStream fis = new FileInputStream("b.txt");
//方式1
int by = 0;
while ((by = fis.read()) != -1) {
System.out.println(by);
}
//方式2
byte[] bys = new byte[1024];
int len = 0;
while ((len = fis.read(bys)) != -1) {
System.out.print(new String(bys, 0, len));
}
//释放资源
fis.close();
注意:
1):read():读一个,光标就在下一行等着读下一个,读完后光标就放到了最后,再读就没了
和集合里面迭代器的next() 有点相似
2):当用字节流读汉字并打印到控制台上,有时候会出现 "??" 问题,是因为汉字是由两个字节
组成的,每次读一个字节,所以就会出现"??"的现象,但是此问题用字节流复制文本文件时不会出现
|
|