src/org/nutz/lang/stream/QueueInputStream.java
public String readItem(char ... ends) throws IOException{
        StringBuilder sb = new StringBuilder();
        while(true){
            switch (peek()) {
            case ' ':
            case '\r':
            case '\n':
            case -1:
                return sb.toString();
            default:
                for(Character c : ends){
                    if(c.charValue() == peek()){
                        return sb.toString();
                    }
                }
                sb.append((char)poll());
            }
        }
    }
public String readItem(char ... ends) throws IOException{
        StringBuilder sb = new StringBuilder();
        while(true){
            switch (peek()) {
            case ' ':
            case '\r':
            case '\n':
            case -1:
                return sb.toString();
            default:
                for(Character c : ends){
                    if(c.charValue() == peek()){
                        return sb.toString();
                    }
                }
                sb.append((char)poll());
            }
        }
    }
读取一项数据
@param ends 结束符, 默认' ', '\r', '\n'
@return 数据
@throws IOException