Java实现在读取文件内容的时判断出空白行?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强>一、问题描述:强>
在用Java读入文件内容时,往往文件中存在空行,有时候用空行来分割不同属性的内容,这个时候,就有必要把这个空行识别出来,在Java中该如何识别空行呢?
<强>二、案例分析:强>
数据集为:
第一行信息:节点个数开始节点终止节点
第二行信息:空行
第三行到第四十四行信息:边及边的权值
第四十五行信息:空行
第四十六行到第四十七行信息:必过节点
第四十八行信息:空行
第四十九行到第五十行信息:必过边
第五十一行信息:空行
第五十二行到第五十三行信息:不能经过的边
18 S E
3
N1年代N2 1
S N3 1
N1 N9 4
N1陶瓷1
N1 N2 1
N2它们1
N2 N3 1
N2陶瓷2
N3它们2
N3 N6 2
N3 N7 1
陶瓷它们1
陶瓷N9 1
它们N6 1
它们N12 3
它们N10 1
3
它们N9 N6 N12 2
N6 N13 4
N6 N14 3
N6 N8 2
N6 N7 1
N7 N8 1
N8 N14 1
3
N8 N15 N9 N10 1
N9 N11 1
N10 N11 1
N10 N12 2
N11 N12 1
N11但1
不行了N12 N13 2
N12但1
N13不行了但2
不行了N13 N14 1
N13 N15 2
N14 N15 1
E但1
E不行了N13 1
E N15 4N7
N12N2陶瓷
N13 N14N11 N12
引用>现在需要把这些信息都给读出来,代码为:
进口java.util。*; 进口java.util.Map.Entry; 进口. io . *; 公开课choosePath { 私有静态ArrayList arrayListOfChoosedPath=new ArrayList (); 私有静态ArrayList arrayListOfMustThoughNode=new ArrayList (); 私有静态ArrayList arrayListOfMustThoughEdge=new ArrayList (); 私有静态ArrayList arrayListOfCanNotThoughEdge=new ArrayList (); 私有静态int needOfNode; 公共静态void main (String [] args)抛出IOException {//sumCol变量用于记录数据集中边的数量 int sumCol=0; BufferedReader bfr2=new BufferedReader(新FileReader ( “C://用户/管理员//桌面//文字//case.txt")); bfr2.readLine (); bfr2.readLine (); 而(! bfr2.readLine () .equals (“;”)) { sumCol + +; } System.out.println (“tempcol=? sumCol); 字符串tempMustThoughNode=零; 而(! (tempMustThoughNode=bfr2.readLine ()) .equals (“;”)) { System.out.println (tempMustThoughNode); arrayListOfMustThoughNode.add (tempMustThoughNode); } 而(! (tempMustThoughNode=bfr2.readLine ()) .equals (“;”)) { System.out.println (tempMustThoughNode); arrayListOfMustThoughEdge.add (tempMustThoughNode.split (““)[0]); arrayListOfMustThoughEdge.add (tempMustThoughNode.split (““)[1]); } 在((tempMustThoughNode=bfr2.readLine ()) !=null) { System.out.println (tempMustThoughNode); arrayListOfCanNotThoughEdge.add (tempMustThoughNode.split (““)[0]); arrayListOfCanNotThoughEdge.add (tempMustThoughNode.split (““)[1]); } bfr2.close (); } }输出信息为
tempcol=41
引用>
N7
N12
N2陶瓷
N13 N14
N11 N12
在Java中,判断空行的方法是:
bfr。readLine () .equals (“;”);
引用>
<强> java获取txt文件内容按照行,空格解析强>
我就废话不多说了,大家还是直接看代码吧~
公共静态字符串txt2String(文件文件){ StringBuilder结果=new StringBuilder (); 尝试{ BufferedReader br=new BufferedReader(新FileReader(文件));//构造一个BufferedReader类来读取文件 字符串s=零; 而((s=br.readLine ()) !=null){//使用readLine方法,一次读一行 result.append (System.lineSeparator () + s); } br.close (); }捕捉(异常e) { e.printStackTrace (); } 返回result.toString (); } 公共静态void main (String [] args) { 文件文件=新文件(“C: \ \ \ \ \ \用户管理员桌面\ \文件名.txt"); 字符串s=txt2String(文件); String []=s.split分裂(“\ \ r& # 63; \ \ n"); (字符串s1:分裂){ 如果(s1.length()在0) { String [] split1=s1.split (“\ \ s +“); (字符串s2: split1) { 如果(s2.length()在0) { System.out.println (s2); } } } } }Java实现在读取文件内容的时判断出空白行