博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统集成项目管理工程师教程(第2版)带书签目录
阅读量:6405 次
发布时间:2019-06-23

本文共 2890 字,大约阅读时间需要 9 分钟。

  hot3.png

[官方指定考试教材]

系统集成项目管理工程师教程(第2版)带书签目录 

链接: 密码:5q57

鉴于最近考试所需,考信息系统项目管理师的,也要把《系统集成项目管理工程师教程》学完,无奈网上的这本书都是没有书签目录的,要么就是带广告水印的,于是花了2天多的时间自己制作了一套书目录,现分享给有需要的朋友。

具体代码:

import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;import java.util.ArrayList;import java.util.List;import java.util.regex.Pattern;import org.apache.log4j.Logger;public class ReadAndWriteFile {	static Logger log = Logger.getLogger(ReadAndWriteFile.class);	public static int getPointCount(String string, String a) {		String[] array = string.split(a);		if (array != null) {			if(!string.contains(".N")){				return (array.length - 1);			}else{				return (array.length - 1)-1;			}		}		return 0;	}		public static void readFileAndWriteFile(String fileName){		File file = new File(fileName);        BufferedReader reader = null;        try {//          System.out.println("以行为单位读取文件内容,一次读一整行:");            reader = new BufferedReader(new FileReader(file));            String temp = null;            String temp1 = null;            String marker = "
<书签 页码="\"PageNum\"" 文本="\"TitleContent\"" 动作="\"转到页面\"" 显示方式="\"坐标缩放\"" 左="\"null\"" 上="\"null\"">
"; String markerEnd = "
"; String markerStartAndEnd = "
<书签 页码="\"PageNum\"" 文本="\"TitleContent\"" 动作="\"转到页面\"" 显示方式="\"坐标缩放\"" 左="\"null\"" 上="\"null\"" />"; int line = 1; int titleLevel; List
list = new ArrayList
();//存储书签目录 // 一次读入一行,直到读入null为文件结束 while ((temp = reader.readLine()) != null) { String[] ss = new String[3];//[0]目录等级,[1]跳转页码,[2]标题 // 显示行号// System.out.println("line " + line + ": " + temp); temp = temp.trim(); int pageNum = 0;//跳转页码 String titleContent = "";//标题 temp1 = temp;// temp1.replaceAll(".*[^\\d](?=(\\d+))","");//比如一个字符串:String filter = "1234gogogo67890",我想只获取后面的数字:即:67890。 pageNum = Integer.parseInt(temp1.replaceAll(".*[^\\d](?=(\\d+))",""))+36;//22是偏移值 titleContent = temp.substring(0,temp.length()-(pageNum+"").length()); int isPointCount = getPointCount(temp, "\\."); String regEx="第*章"; boolean result=Pattern.compile(regEx).matcher(temp).find(); if(result){ titleLevel = 1; ss[0]=titleLevel+""; } if(isPointCount == 1){ titleLevel = 2; ss[0]=titleLevel+""; }else if(isPointCount == 2){ titleLevel = 3; ss[0]=titleLevel+""; } ss[1]=pageNum+""; ss[2]=titleContent.trim(); list.add(ss); line++; } reader.close(); for(int i=0;i
=0?(i-1):0;//上一标题 //i 本地标题 int k = (i+1)

 

转载于:https://my.oschina.net/90888/blog/823426

你可能感兴趣的文章
Android 滑动效果入门篇(二)—— Gallery
查看>>
Revit二次开发示例:DesignOptions
查看>>
Entity Framework 系统约定配置
查看>>
优秀设计:纹理在网页设计中的20个应用示例
查看>>
C++ 关键字 explicit, export, mutable
查看>>
生成指定范围的一组随机数并求平均值
查看>>
android语音识别方法
查看>>
File Operations in Android NDK(转)
查看>>
如何将kux格式的视频转换成我们常用的MP4格式
查看>>
[sublime系列文章] sublime text 3插件配置说明
查看>>
学习 PixiJS — 碰撞检测
查看>>
Vue 基础篇
查看>>
JavaScript:函数防抖与函数节流
查看>>
关于区间贪心的补全
查看>>
架构设计步骤
查看>>
自定义元素探秘及构建可复用组件最佳实践
查看>>
区块链是一个公共数据库,要放在一个块内
查看>>
Jenkins 用户文档(目录)
查看>>
系统常见指标
查看>>
使用crond构建linux定时任务及日志查看
查看>>