在以前的项目开发中,我偶尔也会使用到IO流。但是对于这一块,一直不是特别熟练,今天抽出时间来捋捋。
Java IO流基本概念
Java对数据的操作是通过”流“的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作”流“的对象都在IO包中。如下图
File的本质
对于Java来说,File表示的是文件的路径,路径指向的文件可能存在,也可能不存在。可以说相对路径也可以是绝对路径。File的本质可以看成是一串字符串,指向一个文件。File类有一个FileSystem成员变量,在进行大部分操作时,他都会用这个FileSystem对象解释这个路径。
file常用方法
获取字节输入流
// 当前文件:data/test.txt
InputStream inputStream = new FileInputStream("data/test.txt");
InputStream inputStream1 = new FileInputStream(new File("data/test.txt"));
int i = 0;
//一次读取一个字节
while ((i = inputStream1.read()) != -1) {
//为什么会输出65 66 67 68?因为字符在底层存储的时候就是存储的数值。即字符对应的ASCII码。
System.out.println((char) i+"");
}
//关闭IO流
inputStream1.close();
获取字节输出流
FileOutputStream fileOutputStream = new FileOutputStream("data/test.txt",true);
fileOutputStream.write("yj".getBytes());
fileOutputStream.close();
获取字符输入流
InputStreamReader inputStreamReader = new InputStreamReader(new FileInputStream("data/test.txt"),"utf-8");
int i = 0;
while ((i = inputStreamReader.read()) != -1) {
System.out.println((char) i);
}
inputStreamReader.close();
获取字符输出流
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(new FileOutputStream("data/test1.txt"));
outputStreamWriter.write("SSSSSSSS");
outputStreamWriter.close();
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/133794.html