2013年10月14日 星期一

[Java]如何判斷String是空字串還是空白位元字串

當我們在讀txt檔的時候
我的習慣總是會每一行每一行的將資料先讀取近來放到陣列裡面儲存
但是在讀取資料時
會遇到空白行的問題

空白行會有兩種狀況發生
<第一種>
單純的空白行,只需要判斷此行的長度有沒有大於0就可以解決了

<第二種>
有包含 space,Tab的空白字元字串
這種字串用電腦來讀取的話,還是占有長度的
所以不能像上述的用Length的方法來做
這時候就是要用 String裡面所提供的方法 .trim
來判斷是否為空



<範例程式如下>
開發環境 : Eclipse

開啟檔案名稱 "00.txt"
檔案內容 :


import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;


public class test_String {

    public static void main(String[] args) throws IOException
    {
        FileReader fr = new FileReader("00.txt"); //假設讀近來的檔名是00.txt
        BufferedReader br = new BufferedReader(fr);
        ArrayList<String> inputList = new ArrayList<String>();
        //宣告一個動態陣列inputList接我們要的資料
        String line;
        
        while((line = br.readLine())!=null)
        {
            //line.length()大於0 就是上述說的第一種情況
            //反之後面是第二種情況
            if(line.length() > 0 && !line.trim().isEmpty())
            {
                inputList.add(line);
            }
        }
        //這時已經將.txt檔裡面的空白文給過濾掉了
        for(int i=0;i<inputList.size();i++)
        {
          System.out.println(i+","+inputList.get(i));//印出儲存在這陣列的資料
        }
    }
}

輸出結果 :

0,123
1,456
2,134
3,234
4,2345
5,456

<延伸閱讀>
想要多了解有關讀取.txt檔的一些其他方法
可以參考我之前寫的兩篇

同時讀取資料夾多個檔案
讀取檔案、動態陣列、資料型態的混合應用

下面兩篇是我參考的資料網址
How-to-check-empty-spaces-in-java
Java裡如何判斷一個空字符串或由空格組成的字符串





Related Articles

0 意見:

張貼留言

技術提供:Blogger.