今天为大家简单阐述下java文件读写操作的基本概念是什么,以及简要说明一下它的方式有哪些,并用实例来进行展示。
首先,java文件读写操作包括三个方面。
第一个就是读取文件也就是 BufferedInputStream,然后是输写文件BufferedOutputStream,最后就是实际运用,即在现实场景中进行应用。
其实,java中I/O流对文件的读写有很多种方法,下文主要为大家介绍比较常见的三种。
第一种方式:使用FileWriter和FileReader,对文件内容按照字符读取,代码如下
String dir = "E:\\soft\\aaa\\a.txt"; File file = new File(dir); //如果文件不存在,创建文件 if (!file.exists()) file.createNewFile(); //创建FileWriter对象 FileWriter writer = new FileWriter(file); //向文件中写入内容 writer.write("the first way to write and read"); writer.flush(); writer.close(); //创建FileReader对象,读取文件中的内容 FileReader reader = new FileReader(file); char[] ch = new char[100]; reader.read(ch); for (char c: ch) { System.out.print(c); } System.out.println(); reader.close();
第二种方式:使用包装类BuffredReader和BufferedWriter,对文件内容进行整行读取,代码如下
String dir = "E:\\soft\\aaa\\b.txt"; File file = new File(dir); //如果文件不存在,创建文件 if (!file.exists()) file.createNewFile(); //创建BufferedWriter对象并向文件写入内容 BufferedWriter bw = new BufferedWriter(new FileWriter(file)); //向文件中写入内容 bw.write("the second way to write and read"); bw.flush(); bw.close(); //创建BufferedReader读取文件内容 BufferedReader br = new BufferedReader(new FileReader(file)); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close();
第三种方式:使用FileInputStream和FileOutputStream,这种方法以字节的形式写入文件,读取文件时先读取字节数组,再将字节数组转换为字符串形式,代码如下:
String dir = "E:\\soft\\aaa\\c.txt"; File file = new File(dir); //如果文件不存在,创建文件 if (!file.exists()) file.createNewFile(); //创建FileOutputStream对象,写入内容 FileOutputStream fos = new FileOutputStream(file); //向文件中写入内容 fos.write("the third way to write and read".getBytes()); fos.close(); //创建FileInputStream对象,读取文件内容 FileInputStream fis = new FileInputStream(file); byte[] bys = new byte[100]; while (fis.read(bys, 0, bys.length) != -1) { //将字节数组转换为字符串 System.out.println(new String(bys)); } fis.close();
类中的整体代码:
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; public class FileRW { //第一种方式:使用FileWriter和FileReader public void firstWay() throws IOException { String dir = "E:\\soft\\aaa\\a.txt"; File file = new File(dir); //如果文件不存在,创建文件 if (!file.exists()) file.createNewFile(); //创建FileWriter对象 FileWriter writer = new FileWriter(file); //向文件中写入内容 writer.write("the first way to write and read"); writer.flush(); writer.close(); //创建FileReader对象,读取文件中的内容 FileReader reader = new FileReader(file); char[] ch = new char[100]; reader.read(ch); for (char c: ch) { System.out.print(c); } System.out.println(); reader.close(); } //第二种方式:使用BuffredReader和BufferedWriter public void secondWay() throws IOException { String dir = "E:\\soft\\aaa\\b.txt"; File file = new File(dir); //如果文件不存在,创建文件 if (!file.exists()) file.createNewFile(); //创建BufferedWriter对象并向文件写入内容 BufferedWriter bw = new BufferedWriter(new FileWriter(file)); //向文件中写入内容 bw.write("the second way to write and read"); bw.flush(); bw.close(); //创建BufferedReader读取文件内容 BufferedReader br = new BufferedReader(new FileReader(file)); String line; while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); } //第三种方式:使用FileInputStream和FileOutputStream public void thirdWay() throws IOException { String dir = "E:\\soft\\aaa\\c.txt"; File file = new File(dir); //如果文件不存在,创建文件 if (!file.exists()) file.createNewFile(); //创建FileOutputStream对象,写入内容 FileOutputStream fos = new FileOutputStream(file); //向文件中写入内容 fos.write("the third way to write and read".getBytes()); fos.close(); //创建FileInputStream对象,读取文件内容 FileInputStream fis = new FileInputStream(file); byte[] bys = new byte[100]; while (fis.read(bys, 0, bys.length) != -1) { //将字节数组转换为字符串 System.out.println(new String(bys)); } fis.close(); } public static void main(String[] args) throws IOException { FileRW fileRW = new FileRW(); fileRW.firstWay(); fileRW.secondWay(); fileRW.thirdWay(); } } 1
运行结果如下:
the first way to write and read the second way to write and read the third way to write and read
以上就是有关java文件读写操作的基本内容以及实例展示。想要了解更多java基础,敬请关注奇Q工具网。
推荐阅读: