2013-05-27 48 views
0

我試圖使用製表符和換行符作爲分隔符從.txt文件讀取。我目前所面對的是:使用掃描儀的多個分隔符 - Java

Scanner fileScanner = new Scanner(new FileReader("propertys.txt")); 

fileScanner.useDelimiter("[\\t\\n]"); 

我已經試過:

fileScanner.useDelimiter("\\t|\\n"); 

fileScanner.useDelimiter("[\\t|\\n]"); 

我有不知道發生了什麼事情錯了,我已經搜查各地很多,它看起來像其中一個應該工作。很明顯,我做錯了什麼。

回答

0

對於用作在useDelimiter方法中的參數的正則表達式,應該使用新行作爲\n代替\\n和標籤作爲\t代替\\t。來自Java Pattern類:http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html

的一部分從,我想你應該定義你的正則表達式等,例如,這樣的:

fileScanner.useDelimiter("\\s*[\t\n]\\s*"); 

限制新行或製表符之間的字符串(\\s)。

+0

但是因爲它是從txt文件中讀取的,我以爲我需要額外的斜線?無論哪種方式它仍然無法正常工作,謝謝:) – user2426260

+0

現在我看到了別的東西。我正在編輯:) –

+0

啊仍然沒有工作,我想我只是從另一個角度來看待它,謝謝你的幫助。 – user2426260

1

fileScanner.useDelimiter(「\ t | \ n」); 應該工作。

如果你有兩個斜線「\ n」,第一個斜線會作爲轉義,它不會正確工作。