Java在读取文件内容的时候,如何判断出空白行的操作
一、问题描述:
在用Java读入文件内容时,往往文件中存在空行,有时候用空行来分割不同属性的内容,这个时候,就有必要把这个空行识别出来,在Java中该如何识别空行呢?
二、案例分析:
数据集为:
第一行信息:节点个数开始节点终止节点
第二行信息:空行
第三行到第四十四行信息:边及边的权值
第四十五行信息:空行
第四十六行到第四十七行信息:必过节点
第四十八行信息:空行
第四十九行到第五十行信息:必过边
第五十一行信息:空行
第五十二行到第五十三行信息:不能经过的边
18SE
SN13
SN21
SN31
N1N94
N1N41
N1N21
N2N51
N2N31
N2N42
N3N52
N3N62
N3N71
N4N51
N4N91
N5N61
N5N123
N5N101
N5N93
N6N122
N6N134
N6N143
N6N82
N6N71
N7N81
N8N141
N8N153
N9N101
N9N111
N10N111
N10N122
N11N121
N11N161
N12N132
N12N161
N13N162
N13N141
N13N152
N14N151
EN161
EN131
EN154N7
N12N2N4
N13N14N11N12
现在需要把这些信息都给读出来,代码为:
importjava.util.*; importjava.util.Map.Entry; importjava.io.*; publicclasschoosePath{ privatestaticArrayListarrayListOfChoosedPath=newArrayList(); privatestaticArrayListarrayListOfMustThoughNode=newArrayList(); privatestaticArrayListarrayListOfMustThoughEdge=newArrayList(); privatestaticArrayListarrayListOfCanNotThoughEdge=newArrayList(); privatestaticintneedOfNode; publicstaticvoidmain(String[]args)throwsIOException{ //sumCol变量用于记录数据集中边的数量 intsumCol=0; BufferedReaderbfr2=newBufferedReader(newFileReader( "C://Users//Administrator//Desktop//text//case.txt")); bfr2.readLine(); bfr2.readLine(); while(!bfr2.readLine().equals("")){ sumCol++; } System.out.println("tempcol="+sumCol); StringtempMustThoughNode=null; while(!(tempMustThoughNode=bfr2.readLine()).equals("")){ System.out.println(tempMustThoughNode); arrayListOfMustThoughNode.add(tempMustThoughNode); } while(!(tempMustThoughNode=bfr2.readLine()).equals("")){ System.out.println(tempMustThoughNode); arrayListOfMustThoughEdge.add(tempMustThoughNode.split("")[0]); arrayListOfMustThoughEdge.add(tempMustThoughNode.split("")[1]); } while((tempMustThoughNode=bfr2.readLine())!=null){ System.out.println(tempMustThoughNode); arrayListOfCanNotThoughEdge.add(tempMustThoughNode.split("")[0]); arrayListOfCanNotThoughEdge.add(tempMustThoughNode.split("")[1]); } bfr2.close(); } }
输出信息为
tempcol=41
N7
N12
N2N4
N13N14
N11N12
三、结论:
在Java中,判断空行的方法是:
bfr.readLine().equals("");
补充知识:java获取txt文件内容按照行、空格解析
我就废话不多说了,大家还是直接看代码吧~
publicstaticStringtxt2String(Filefile){ StringBuilderresult=newStringBuilder(); try{ BufferedReaderbr=newBufferedReader(newFileReader(file));//构造一个BufferedReader类来读取文件 Strings=null; while((s=br.readLine())!=null){//使用readLine方法,一次读一行 result.append(System.lineSeparator()+s); } br.close(); }catch(Exceptione){ e.printStackTrace(); } returnresult.toString(); } publicstaticvoidmain(String[]args){ Filefile=newFile("C:\\Users\\Administrator\\Desktop\\文件名.txt"); Strings=txt2String(file); String[]split=s.split("\\r?\\n"); for(Strings1:split){ if(s1.length()>0){ String[]split1=s1.split("\\s+"); for(Strings2:split1){ if(s2.length()>0){ System.out.println(s2); } } } } }
内容出现乱码,则先把文件设置为UTF-8格式。
以上这篇Java在读取文件内容的时候,如何判断出空白行的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。