请救一个关于JAVA中的模式匹配问题:我需要读取的文件大概有30MB左右,我现在想从文件中按行读取,然后按正则表达式进行匹配我需要的数据。
但是文件并不规则,当文件中含有空行。程序就不会往下读取了。不清楚在JAVA中怎么按行读取呀?
核心代码如下:
try{
BufferedReader bufferedreader =new BufferedReader(new FileReader(file));
String readline =bufferedreader.readLine();
while(readline!=null){
System.out.println(readline);
}
bufferedreader.close();
但是文件并不规则,当文件中含有空行。程序就不会往下读取了。不清楚在JAVA中怎么按行读取呀?
核心代码如下:
try{
BufferedReader bufferedreader =new BufferedReader(new FileReader(file));
String readline =bufferedreader.readLine();
while(readline!=null){
System.out.println(readline);
}
bufferedreader.close();
try{
BufferedReader bufferedreader =new BufferedReader(new FileReader(file));
String readline="";
while(readline=bufferedreader.readLine()!=null){
System.out.println(readline);
}
...
StringBuffer strb = new StringBuffer();while((myString=myBufferedReader.readLine())!=null)
{
strb.append(myString);
strb.append("\n"); //由于readLine会消除换行符,这里需要手工加入
}
String content = strb.toString();
我再请教下一个问题,在这个文件中有这么一段内容:
CDMA-CS-L
000022976 000020822 000000000 000000000 000000000
我现在想匹配最后一组数据:000000000,请问怎么匹配呀?
我写的是:^ CDMA-CS-L\\s+$.*(\\d{9})\\s\\d{9}\\s\\d{9}\\s\\d{9}\\s\\d{9}