字节流的写操作
- 需求:向D:/creatFile.text文件中写入内容–hello world
1、创建文件D:/creatFile.text
2、使用流写内容
3、保存
代码
public static void writeMethod() throws IOException {
File file=new File("D:/creatFile.text");
//创建OutputStream进行写动作,因为是要进行文件的流操作,所以要使用FileOutputStream对象
OutputStream os=new FileOutputStream(file);
//开始写 将字符串转换为字节数组
os.write("Hello World".getBytes());
//换行要使用\r\n
os.write("\r\n".getBytes());
os.write(98);
//通常来讲,写完之后需要进行保存,但是字节流可以自动保存,强调:流的使用一定要关闭
os.close();
}
}
字节流的读操作
直接读取
public static void inputStreamMethod() throws IOException {
//将地址包装成流对象
InputStream is=new FileInputStream("D:/creatFile.text");
//File file=new File("D:/creatFile.text");
//读取内容
int temp=0;
while((temp=is.read())!=-1) {
System.out.println((char)temp);
}
//关闭流
is.close();
}
通过缓冲池读取
public static void inputStreamMethod2() throws IOException {
//将地址包装成流对象
InputStream is=new FileInputStream("D:/creatFile.text");
//先定义一个缓冲区,流是先将内容读取到了缓冲区中
byte[] area=new byte[1024];
//available拿到整个文档的大小--这种方式不合适
//byte[] area=new byte[is.available()];
//读内容
while(is.read(area)!=-1) {
System.out.println(new String(area));//字节数组转化为字符串
}
is.close();
}
}
注意:有关FileInputStream()
- 1.以字符串的形式直接给地址
- 2.通过file对象给地址
两种方案的区别,各自的特点及作用
如果是用的File对象,可以在转为流之前对该文件做相关处理(增删改查)