import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Iterator;

/**

*

*

* ClassName GetParagraph

*

*

* Description 使用Java完成对一篇文本的自然段落的切分,在此给出了五种文本格式作为示例,对任一种格式,该程序均可以正确切分。

*

*

* @author TKPad [email protected]

*

* Date 2015年2月11日 下午1:33:03

*

* @version V1.0.0

*

*/

public class GetParagraph {

public static void main(String[] args) throws IOException {

ArrayList res = new ArrayList();// 段落切分结果

StringBuilder sb = new StringBuilder();// 拼接读取的内容

String temp = null;// 临时变量,存储sb去除空格的内容

// BufferedReader reader = new BufferedReader(new FileReader(new File("C:\\Users\\TKPad\\Desktop\\a.txt")));

// BufferedReader reader= new BufferedReader(new FileReader(new File("C:\\Users\\TKPad\\Desktop\\b.txt")));

// BufferedReader reader= new BufferedReader(new FileReader(new File("C:\\Users\\TKPad\\Desktop\\c.txt")));

// BufferedReader reader = new BufferedReader(new FileReader(new File("C:\\Users\\TKPad\\Desktop\\d.txt")));

BufferedReader reader = new BufferedReader(new FileReader(new File("C:\\Users\\TKPad\\Desktop\\e.txt")));

int ch = 0;

while ((ch = reader.read()) != -1) {

temp = sb.toString().trim().replaceAll("\\s*", "");// 取出前后空格,之后去除中间空格

if ((char) ch == '\r') {

// 判断是否是空行

if (!"".equals(temp)) {

// 说明到了段落结尾,将其加入链表,并清空sb

res.add(temp);

}

sb.delete(0, sb.length());

} else {

// 说明没到段落结尾,将结果暂存

sb.append((char) ch);

}

}

if (reader.read() == -1) {

System.out.println("哈哈,你读到了末尾嘞!");

}

// 最后一段如果非空, 将最后一段加入,否则不处理

if (!"".equals(temp)) {

res.add(temp);

}

Iterator iterator = res.iterator();

while (iterator.hasNext()) {

String next = iterator.next();

System.out.println("段落开始:");

System.out.println(next);

}

System.out.println("段落的个数是:" + res.size());

}

}

java去掉文本格式分割成字然段落_Java实现文本按照自然段落进行切分详解相关推荐

  1. java String中文字符串分割成数组 中文字符串分割成一定长度的字符串数组

    java String中文字符串分割成一定长度的字符串数组 /*** 几个字一组 变量控制 大于零有意义*/ int num = 6; /*** 待操作的字符串*/ String str = &quo ...

  2. ※ 将一个txt文档按\n格式分割成多个txt

    ※ 将一个txt文档按\n格式分割成多个txt 原始文档格式为: # -*- coding: utf-8 -*- """ Created on Mon May 20 15 ...

  3. [万字长文]使用 React 重写学成在线前端项目 I 代码完整可运行,步骤有详解

    [万字长文]使用 React 重写学成在线前端项目 I 代码完整可运行,步骤有详解 准备工作 安装必备工具/库 nodejs React 脚手架 需要的 node 依赖包 分析需求 初始化项目 搭建框 ...

  4. Java IDEA Debug模式下断点回退(一键回退到上一个断点前方)操作方法详解

    @Java IDEA Debug模式下断点回退(一键回退到上一个断点前方)操作方法详解 1.请求进入第一个断点: 2.请求进入第二个断点: 3.回退断点(回到上一个断点之前,图1,图2共两种操作方法) ...

  5. java将jfif格式转换成ipg_jfif是什么格式?Win10将图片JFIF格式转成JPG格式的方法

    Windows10系统在网页保存图片,发现保存的图片格式是.jfif,而不是常见的.jpg或.png格式..jfif是什么格式呢?这个格式没有见过,不少平台是不支持上传这个格式的图片,有什么办法解决? ...

  6. java pattern详解_JAVA正则表达式:Pattern类与Matcher类详解

    以下我们就分别来看看这两个类: 一.捕获组的概念 捕获组可以通过从左到右计算其开括号来编号,编号是从1 开始的.例如,在表达式 ((A)(B(C)))中,存在四个这样的组: 1        ((A) ...

  7. java运行原理_Java程序的加载与运行原理详解

    Java程序的运行包括两个非常重要的阶段: 一.编译阶段 第一步:程序员需要在计算机硬盘中任意位置创建一个.java扩展名的文件,该文件被称为 java源文件,源文件当中编写的是java源代码/源程序 ...

  8. java 组合对象_Java 中组合模型之对象结构模式的详解

    Java 中组合模型之对象结构模式的详解 一.意图 将对象组合成树形结构以表示"部分-整体"的层次结构.Composite使得用户对单个对象和组合对象的使用具有一致性. 二.适用性 ...

  9. Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解

    这篇文章主要介绍了Java Iterator接口遍历单列集合迭代器原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Iterator接口概述 ...

最新文章

  1. 理解RESTful架构
  2. linux系统下网卡故障解决
  3. 【Android】BroadCast广播机制应用与实例
  4. c++ getline 读不到东西_C++ getline()函数问题
  5. 高级php程序员面试题2019,2019最新PHP模拟面试题及答案
  6. MySQL(MariaDB)之参数详解(-)
  7. mysql游标_MySQL 游标的使用
  8. Android界面开发工具DroidDraw
  9. python定义字典对象时_Python对象类型之字典
  10. 将linux系统分区变成逻辑卷,linux运维基础知识-系统分区及LVM逻辑卷的创建
  11. 解析大型.NET ERP系统 业务逻辑设计与实现
  12. 【渝粤教育】电大中专电商运营实操 (14)作业 题库
  13. 下载阿里云大学的课程
  14. HTML期末大作业~简洁的个人博客网站前台页面HTML模板7个页面(html+css+js)
  15. 2020寒假第三周总结
  16. marshmallow之自定义Field
  17. java 执行Linux命令并打印执行结果
  18. java学习路线小白——架构师
  19. BP神经网络实现异或功能
  20. 最接地气的详解CountDownLatch闭锁应用与实现机制

热门文章

  1. 支付宝推出“轻会员”;iPhone11 或将主动禁用双向无线充电;Java 13 发布 | 极客头条...
  2. 停就删稿!这个“可怕”的 GitHub 开源项目值得一试
  3. 华为正式发布自有操作系统——鸿蒙 OS!
  4. 微信雄踞,头条社交梦破碎?| 畅言
  5. C 语言会比 C++ 快?
  6. 从 SAS 到 NVMe,换个底盘就完儿事了?
  7. TensorFlow.js 来了!浏览器上线机器学习功能
  8. 程序员如何打破 30 岁职业瓶颈?
  9. 作为一名开发者,没有实力和运气能干什么?
  10. 计算机教学怎么为护士服务卫校,【计算机教学论文】中专卫生学校计算机教学论文(共1480字)...