我被賦予了從Java讀取.txt文件的任務。該文件包含的東西如下:驗證文件中的字符串
ID:SampleID
工作:經理
名稱:塞繆爾·拉胡爾
讀取成功,我能夠打印文件內容。我用掃描儀讀取文件:
FileReader _reader = new FileReader(_name);
BufferedReader _br = new BufferedReader(_reader);
while((line = _br.readLine()) != null) {
System.out.println(line);
}
的問題是,我需要驗證,例如,該ID是不是空的,例如,
ID:
如果ID爲空,則會顯示錯誤。我期望爲此任務使用「分隔符」。
編輯:
Scanner s = new Scanner(line).useDelimiter("ID:\\s*");
System.out.println(s.next())
我用.useDelimiter,但問題是,它顯示的文本,如工作和姓名,這可能是誤導爲「ID」的其餘部分,然後ID的值始終不爲空。
我想在ID後邊的「:」(除了包括Job:Manager和Name:Samuel Rahul之後的整個String之外)的確切字符串。這讓我感到困惑,所以我可以驗證ID字符串是否爲空。
如果我可以在「ID:」之後得到確切的字符串,並排除他們的下一行,那麼我可以驗證該值。我認爲我的正則表達式是錯誤的,但我找不到。
您可以使用[Scanner](http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html)。 – Mena
你可以用':'分割'line',並檢查splittet.length> 1 && splittet [1]!= null &&!splittet [1] .trim()。equals(「」)'。 – SomeJavaGuy
我編輯了這個問題。我使用.useDelimiter來查看將要打印的內容,但它只是顯示字符串的其餘部分,直到「Rahul」。 有沒有辦法讓它不包含下一行的字符串? –