1、按照字符流的方式读取文件内容
/*** 按照字符流的方式读取文件内容* <p>* Step 1.根据文件路径,构建文件对象* Step 2.创建字符输入流读取文件内容* Step 3.创建字符数组来存放读取内容* Step 4.关闭读取文件的字符输入流** @return*/public static void readFileByFileReader(String path) { System.out.println("=== 字符流读取 开始 ==="); // 根据路径拿到文件对象 File file = new File(path); // 初始化字符输入流 Reader fileReader = null; try { // 创建一个文件字符输入流与源文件接通 fileReader = new FileReader(file); // 初始化存放读取内容的字符数组 char[] buffer = new char[100]; // 定义读取到字符长度 int len; while ((len = fileReader.read(buffer)) != -1) { // 一次读取一个字符数组长度的字符串 fileReader.read(buffer,0,len); System.out.println("本次读取" + len + "个字节数据内容为:" + new String(buffer, 0, len)); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { // 关闭流过程,也有可能出现异常 try { if (fileReader != null) fileReader.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("=== 字符流读取 结束 ===");}
2、通过字符流的方式写入信息到文件
/*** 通过字符流的方式写入信息到文件* <p>* Step 1.根据文件路径,构建文件对象* Step 2.创建字符输出流写出信息到文件* Step 3.构造待写出的内容,并转为字符数组* Step 4.关闭读取文件的字符输出流*/public static void writeFileByFileWriter(String path) { System.out.println("=== 字符流写入文件 Start ==="); // 创建写出文件 File file = new File(path); // 初始化字符输出流 Writer fileWriter = null; String strInfo = "字符写出数据tangjian"; try { // 创建输出字符流 fileWriter = new FileWriter(file); // 写出内容 fileWriter.write(strInfo); System.out.println("按照字符流成功写出内容:" + strInfo); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally {// 关闭写出流时,注意抓异常 try { if (fileWriter != null) fileWriter.close(); } catch (IOException e) { e.printStackTrace(); } } System.out.println("=== 字符流写入文件 End ===");}