Java在讀取文件內(nèi)容的時(shí)候,如何判斷出空白行的操作
一、問題描述:
在用Java讀入文件內(nèi)容時(shí),往往文件中存在空行,有時(shí)候用空行來分割不同屬性的內(nèi)容,這個(gè)時(shí)候,就有必要把這個(gè)空行識別出來,在Java中該如何識別空行呢?
二、案例分析:
數(shù)據(jù)集為:
第一行信息:節(jié)點(diǎn)個(gè)數(shù) 開始節(jié)點(diǎn) 終止節(jié)點(diǎn)
第二行信息:空行
第三行到第四十四行信息:邊及邊的權(quán)值
第四十五行信息:空行
第四十六行到第四十七行信息:必過節(jié)點(diǎn)
第四十八行信息:空行
第四十九行到第五十行信息:必過邊
第五十一行信息:空行
第五十二行到第五十三行信息:不能經(jīng)過的邊
18 S E
S N1 3S N2 1S N3 1N1 N9 4N1 N4 1N1 N2 1N2 N5 1N2 N3 1N2 N4 2N3 N5 2N3 N6 2N3 N7 1N4 N5 1N4 N9 1N5 N6 1N5 N12 3N5 N10 1N5 N9 3N6 N12 2N6 N13 4N6 N14 3N6 N8 2N6 N7 1N7 N8 1N8 N14 1N8 N15 3N9 N10 1N9 N11 1N10 N11 1N10 N12 2N11 N12 1N11 N16 1N12 N13 2N12 N16 1N13 N16 2N13 N14 1N13 N15 2N14 N15 1E N16 1E N13 1E N15 4
N7N12
N2 N4N13 N14
N11 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=41N7N12N2 N4N13 N14N11 N12
三、結(jié)論:
在Java中,判斷空行的方法是:
bfr.readLine( ).equals('');
補(bǔ)充知識:java獲取txt文件內(nèi)容按照行、空格解析
我就廢話不多說了,大家還是直接看代碼吧~
public static String txt2String(File file) { StringBuilder result = new StringBuilder(); try { BufferedReader br = new BufferedReader(new FileReader(file));//構(gòu)造一個(gè)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:UsersAdministratorDesktop文件名.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)亂碼,則先把文件設(shè)置為UTF-8格式。
以上這篇Java在讀取文件內(nèi)容的時(shí)候,如何判斷出空白行的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
