java.lang.StringIndexOutOfBoundsException: String index out of range: -1
在这里插入代码片
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相关推荐
- Excel 导入数据库中java.lang.StringIndexOutOfBoundsException: String index out of range: -50提示解决原因...
dbf文件另存为.xls然后导入到sql数据库里会报错. java.lang.StringIndexOutOfBoundsException: String index out of range: - ...
- java.lang.StringIndexOutOfBoundsException: String index out of range: 0错误的原因
2019独角兽企业重金招聘Python工程师标准>>> java.lang.StringIndexOutOfBoundsException: String index out of ...
- java.lang.StringIndexOutOfBoundsException: String index out of range: 1
笔者源码如下: package javaPractice;import java.util.*;public class TestScanner {public static void main(St ...
- springBoot-tk.mybatis.mapper.MapperException: java.lang.StringIndexOutOfBoundsException: String inde
springBoot-tk.mybatis.mapper.MapperException: java.lang.StringIndexOutOfBoundsException: String inde ...
- Caused by: java.lang.StringIndexOutOfBoundsException: length=5; regionStart=0; regionLength=-1
Caused by: java.lang.StringIndexOutOfBoundsException: length=5;regionStart=0; regionLength=-1 原因:在截取 ...
- String index out of range: -4 错误解析
报这个错误是由于对字符串进行操作的过程中抛出了StringIndexOutOfBoundsException异常 下面的几种方法均有可能抛出上述异常: String.substring() Strin ...
- java.sql.SQLException: Parameter index out of range (4 number of parameters, which is 2).
背景: 在使用多线程测多个基站(一个基站下面多个手卡)的数据,虽然数据都接受没有问题,但是报了这个错误. java.sql.SQLException: Parameter index out of r ...
- java.lang.IllegalArgumentException: Path index does not start with a / character
java.lang.IllegalArgumentException: Path index does not start with a "/" character 最近用stru ...
- 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 ...
最新文章
- PCI总线和PXI总线的区别
- hdu1529 差分约束(好题)
- 如何听节拍器_我是如何开垮一家琴行的!
- 计算机网络核心知识(上)
- springmvc controller动态设置content-type
- 百度AI开发者大会百度大脑论坛:详解“多模态深度语义理解”
- 资源分享|平面设计师可参考的素材网站
- MFC的Dialogbox多行文本框(CEdit)有最大字符限制,默认最大显示长度
- linux进程管理——进程管理相关命令
- 机器学习9-案例1:银行营销策略分析
- 利用 Finder 清理Mac旧档案,释放空间
- [2019杭电多校第七场][hdu6656]Kejin Player
- MySQL获取汉字的拼音首字母
- 王森:程序设计师真情忏悔录
- 如何系统学习经济学 -- 来自知乎建议
- Dialog_xml制作——博客地址
- icp许可证到期续期注意事项
- F11一键还原精灵使用教程(详细图文步骤)
- 如何采集小红书最新版(2018年9月)数据
- c语言程序设计基础程序改错,c语言程序设计改错信息.docx