在这里插入代码片

package com.itheima.d3_char_buffer;

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class BufferedCharTest3 {
public static void main(String[] args) {
try(
//1、创建缓冲字符输入流管道与源文件相同
BufferedReader br = new BufferedReader(new FileReader(“src/csb.txt”));

            BufferedWriter bw = new BufferedWriter(new FileWriter("src/new.txt"));) {//2.定义一个List集合存储每行内容List<String> data = new ArrayList<>();//3.定义循环,按照行读取文章String line;while ((line = br.readLine()) != null) {data.add(line);}System.out.println(data);//4.排序//自定义排序规则List<String> sizes = new ArrayList<>();Collections.addAll(sizes,"一","二","三","四","五","六","柒","八","九","十","十一");Collections.sort(data, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {//o1  八。。。//o2  柒。。。return sizes.indexOf(o1.substring(0,o1.indexOf(".")))- sizes.indexOf(o2.substring(0,o2.indexOf(".")));}});System.out.println(data);//6.遍历集合中的每行文章写出去,且要换行for (String datum : data) {bw.write(datum);bw.newLine();}} catch (Exception e) {e.printStackTrace();}
}

}

控制台输出这个
[一.先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。, 三.宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯科及为忠善者,宜付有司论其刑赏,以昭陛下平明之理,不宜偏私,使内外异法也。, , 五.侍中、侍郎郭攸之、费祎、董允等,此皆良实,志虑忠纯,是以先帝简拔以遗陛下。愚以为宫中之事,事无大小,悉以咨之,然后施行,必能裨补阙漏,有所广益。, , 四.将军向宠,性行淑均,晓畅军事,试用于昔日,, 八.先帝称之曰能,是以众议举宠为督。愚以为营中之事,悉以咨之,必能使行阵和睦,优劣得所。, , 陆.亲贤臣,远小人,此先汉所以兴隆也;亲小人,远贤臣,此后汉所以倾颓也。先帝在时,每与臣论此事,未尝不叹息痛恨于桓、灵也。侍中、尚书、长史、参军,此悉贞良死节之臣,愿陛下亲之信之,则汉室之隆,可计日而待也。, 柒.臣本布衣,躬耕于南阳,苟全性命于乱世,不求闻达于诸侯。先帝不以臣卑鄙,猥自枉屈,三顾臣于草庐之中,咨臣以当世之事,由是感激,遂许先帝以驱驰。后值倾覆,受任于败军之际,奉命于危难之间,尔来二十有一年矣。, 十一.先帝知臣谨慎,故临崩寄臣以大事也。受命以来,夙夜忧叹,恐托付不效,以伤先帝之明;故五月渡泸,深入不毛。今南方已定,兵甲已足,当奖率三军,北定中原,庶竭驽钝,攘除奸凶,兴复汉室,还于旧都。此臣所以报先帝而忠陛下之职分也。至于斟酌损益,进尽忠言,则攸之、祎、允之任也。, , 九.愿陛下托臣以讨贼兴复之效,不效,则治臣之罪,以告先帝之灵。若无兴德之言,则责攸之、祎、允等之慢,以彰其咎;陛下亦宜自谋,以咨诹善道,察纳雅言,深追先帝遗诏。臣不胜受恩感激。今当远离,临表涕零,不知所言。]
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1967)
at com.itheima.d3_char_buffer.BufferedCharTest3$1.compare(BufferedCharTest3.java:35)
at com.itheima.d3_char_buffer.BufferedCharTest3$1.compare(BufferedCharTest3.java:30)
at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360)
at java.util.TimSort.sort(TimSort.java:220)
at java.util.Arrays.sort(Arrays.java:1512)
at java.util.ArrayList.sort(ArrayList.java:1454)
at java.util.Collections.sort(Collections.java:175)
at com.itheima.d3_char_buffer.BufferedCharTest3.main(BufferedCharTest3.java:30)

Process finished with exit code 0

java.lang.StringIndexOutOfBoundsException: String index out of range: -1相关推荐

  1. Excel 导入数据库中java.lang.StringIndexOutOfBoundsException: String index out of range: -50提示解决原因...

    dbf文件另存为.xls然后导入到sql数据库里会报错. java.lang.StringIndexOutOfBoundsException: String index out of range: - ...

  2. java.lang.StringIndexOutOfBoundsException: String index out of range: 0错误的原因

    2019独角兽企业重金招聘Python工程师标准>>> java.lang.StringIndexOutOfBoundsException: String index out of ...

  3. java.lang.StringIndexOutOfBoundsException: String index out of range: 1

    笔者源码如下: package javaPractice;import java.util.*;public class TestScanner {public static void main(St ...

  4. springBoot-tk.mybatis.mapper.MapperException: java.lang.StringIndexOutOfBoundsException: String inde

    springBoot-tk.mybatis.mapper.MapperException: java.lang.StringIndexOutOfBoundsException: String inde ...

  5. Caused by: java.lang.StringIndexOutOfBoundsException: length=5; regionStart=0; regionLength=-1

    Caused by: java.lang.StringIndexOutOfBoundsException: length=5;regionStart=0; regionLength=-1 原因:在截取 ...

  6. String index out of range: -4 错误解析

    报这个错误是由于对字符串进行操作的过程中抛出了StringIndexOutOfBoundsException异常 下面的几种方法均有可能抛出上述异常: String.substring() Strin ...

  7. java.sql.SQLException: Parameter index out of range (4 number of parameters, which is 2).

    背景: 在使用多线程测多个基站(一个基站下面多个手卡)的数据,虽然数据都接受没有问题,但是报了这个错误. java.sql.SQLException: Parameter index out of r ...

  8. java.lang.IllegalArgumentException: Path index does not start with a / character

    java.lang.IllegalArgumentException: Path index does not start with a "/" character 最近用stru ...

  9. java.sql.SQLException: Parameter index out of range (5 > number of parameters, which is 4).

    问题描述: 启动项目调接口的时候控制台报错 Cause: java.sql.SQLException: Parameter index out of range (5 > number of p ...

最新文章

  1. PCI总线和PXI总线的区别
  2. hdu1529 差分约束(好题)
  3. 如何听节拍器_我是如何开垮一家琴行的!
  4. 计算机网络核心知识(上)
  5. springmvc controller动态设置content-type
  6. 百度AI开发者大会百度大脑论坛:详解“多模态深度语义理解”
  7. 资源分享|平面设计师可参考的素材网站
  8. MFC的Dialogbox多行文本框(CEdit)有最大字符限制,默认最大显示长度
  9. linux进程管理——进程管理相关命令
  10. 机器学习9-案例1:银行营销策略分析
  11. 利用 Finder 清理Mac旧档案,释放空间
  12. [2019杭电多校第七场][hdu6656]Kejin Player
  13. MySQL获取汉字的拼音首字母
  14. 王森:程序设计师真情忏悔录
  15. 如何系统学习经济学 -- 来自知乎建议
  16. Dialog_xml制作——博客地址
  17. icp许可证到期续期注意事项
  18. F11一键还原精灵使用教程(详细图文步骤)
  19. 如何采集小红书最新版(2018年9月)数据
  20. c语言程序设计基础程序改错,c语言程序设计改错信息.docx

热门文章

  1. 楼教主男人八题(第一题)
  2. SiTime 硅晶振代替晶体谐振器的8大理由
  3. vue+element-ui中实现多层级复杂的维度根据数据自动生成的表头
  4. 【Android楚君】【Python洪君】生成姓名: 根据性别、字数随机生成好听的名字
  5. 【Python学习】一、Python基础语法
  6. Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API
  7. Linux中的echo命令
  8. [存储]NVMe-4-数据结构
  9. React (四)— 复杂组件
  10. 计算机一级MS Office知识点归纳整理