Java在讀取文件內(nèi)容的時候,如何判斷出空白行的操作
一、問題描述:
在用Java讀入文件內(nèi)容時,往往文件中存在空行,有時候用空行來分割不同屬性的內(nèi)容,這個時候,就有必要把這個空行識別出來,在Java中該如何識別空行呢?
二、案例分析:
數(shù)據(jù)集為:
第一行信息:節(jié)點個數(shù) 開始節(jié)點 終止節(jié)點
第二行信息:空行
第三行到第四十四行信息:邊及邊的權值
第四十五行信息:空行
第四十六行到第四十七行信息:必過節(jié)點
第四十八行信息:空行
第四十九行到第五十行信息:必過邊
第五十一行信息:空行
第五十二行到第五十三行信息:不能經(jīng)過的邊
18 S E
S N1 3
S N2 1
S N3 1
N1 N9 4
N1 N4 1
N1 N2 1
N2 N5 1
N2 N3 1
N2 N4 2
N3 N5 2
N3 N6 2
N3 N7 1
N4 N5 1
N4 N9 1
N5 N6 1
N5 N12 3
N5 N10 1
N5 N9 3
N6 N12 2
N6 N13 4
N6 N14 3
N6 N8 2
N6 N7 1
N7 N8 1
N8 N14 1
N8 N15 3
N9 N10 1
N9 N11 1
N10 N11 1
N10 N12 2
N11 N12 1
N11 N16 1
N12 N13 2
N12 N16 1
N13 N16 2
N13 N14 1
N13 N15 2
N14 N15 1
E N16 1
E N13 1
E N15 4N7
N12N2 N4
N13 N14N11 N12
現(xiàn)在需要把這些信息都給讀出來,代碼為:
import java.util.*; import java.util.Map.Entry; import java.io.*; public class choosePath { private static ArrayList arrayListOfChoosedPath=new ArrayList(); private static ArrayList arrayListOfMustThoughNode=new ArrayList(); private static ArrayList arrayListOfMustThoughEdge=new ArrayList(); private static ArrayList arrayListOfCanNotThoughEdge=new ArrayList(); private static int needOfNode; public static void main(String[] args) throws IOException { //sumCol變量用于記錄數(shù)據(jù)集中邊的數(shù)量 int sumCol=0; BufferedReader bfr2 = new BufferedReader(new FileReader( "C://Users//Administrator//Desktop//text//case.txt")); bfr2.readLine(); bfr2.readLine(); while(!bfr2.readLine().equals("")){ sumCol++; } System.out.println("tempcol="+sumCol); String tempMustThoughNode=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
N2 N4
N13 N14
N11 N12
三、結論:
在Java中,判斷空行的方法是:
bfr.readLine( ).equals("");
補充知識:java獲取txt文件內(nèi)容按照行、空格解析
我就廢話不多說了,大家還是直接看代碼吧~
public static String txt2String(File file) { StringBuilder result = new StringBuilder(); try { BufferedReader br = new BufferedReader(new FileReader(file));//構造一個BufferedReader類來讀取文件 String s = null; while ((s = br.readLine()) != null) {//使用readLine方法,一次讀一行 result.append(System.lineSeparator() + s); } br.close(); } catch (Exception e) { e.printStackTrace(); } return result.toString(); } public static void main(String[] args) { File file = new File("C:\\Users\\Administrator\\Desktop\\文件名.txt"); String s = txt2String(file); String[] split = s.split("\\r?\\n"); for (String s1 : split) { if (s1.length() > 0) { String[] split1 = s1.split("\\s+"); for (String s2 : split1) { if (s2.length() > 0) { System.out.println(s2); } } } } }
內(nèi)容出現(xiàn)亂碼,則先把文件設置為UTF-8格式。
以上這篇Java在讀取文件內(nèi)容的時候,如何判斷出空白行的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
MyBatis?實現(xiàn)多對多中間表插入數(shù)據(jù)
這篇文章主要介紹了MyBatis?實現(xiàn)多對多中間表插入數(shù)據(jù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02mybatis實現(xiàn)增刪改查_動力節(jié)點Java學院整理
本文通過實例代碼給大家介紹了mybatis實現(xiàn)增刪改查功能,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-09-09Java8 使用 stream().sorted()對List集合進行排序的操作
這篇文章主要介紹了Java8 使用 stream().sorted()對List集合進行排序的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10