原文地址:
https://weblogs.java.net/blog/pat/archive/2004/10/stupid_scanner_1.html
正則表達式中,
\A是指一個字符串的開頭,可能大家用慣了
^,而忽略了這個
\A, 但是^其實是指一行的開始,而不管一個字符串里面包含多少行,\A都只匹配第一行的開頭。
那么我們可以用\A做點什么呢?,看下面這個例子:
static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
return s.hasNext() ? s.next() : "";
}
相信大家都看懂了,用
\A作為分隔符,那么得到的當然就只有一個token,那就是整個字符串了。再配合Scanner,就輕易的將一個輸入流轉(zhuǎn)換為一個字符串了。
注意當需要做編碼轉(zhuǎn)換時,Scanner是有支持編碼參數(shù)的構(gòu)造方法的。
posted on 2013-11-28 09:38
West Farmer 閱讀(1015)
評論(0) 編輯 收藏