import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class MyNovel {public static void main(String[] args) {FileWriter fw = null;BufferedWriter bufw = null;FileReader fr = null;BufferedReader bufr = null;try {fr = new FileReader("F:\\ITcast_IODemo\\Novel.txt");bufr = new BufferedReader(fr);String line = bufr.readLine();// 创建sb字符串容器,缓存即将写入最新一章的内容。StringBuilder sb = new StringBuilder("");// fw写于每一章的txt的文件输出流对象。while (line != null) {if (line.contains("第") && line.contains("章")) {// 某章的开头。System.out.println("这是" + line);fw = new FileWriter("F:\\ITcast_IODemo\\" + line + ".txt");bufw = new BufferedWriter(fw);// sb初始化为空。sb = new StringBuilder("");}// 将line的内容存储到容器,等待时机在存入txt。sb.append(line + "\r\n");line = bufr.readLine();// 关键点。if ((line == null) || (line.contains("第") && line.contains("章"))) {/** 两个条件不可调换位置,否则会发生空指针异常。null代表文件结束,* line包含"第"和"章"代表下一章开始。*/bufw.write(sb.toString());bufw.flush();bufw.close();System.out.println(sb.toString());System.out.println("文件已写入!");}}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {bufr.close();bufw.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。