java.io.StringReader#reset ( )源码实例Demo

下面列出了java.io.StringReader#reset ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: htmlunit   文件: CSSStyleSheet.java
/**
 * Returns the contents of the specified input source, ignoring any {@link IOException}s.
 * @param source the input source from which to read
 * @return the contents of the specified input source, or an empty string if an {@link IOException} occurs
 */
private static String toString(final InputSource source) {
    try {
        final Reader reader = source.getReader();
        if (null != reader) {
            // try to reset to produce some output
            if (reader instanceof StringReader) {
                final StringReader sr = (StringReader) reader;
                sr.reset();
            }
            return IOUtils.toString(reader);
        }
        return "";
    }
    catch (final IOException e) {
        LOG.error(e.getMessage(), e);
        return "";
    }
}
 
源代码2 项目: spring-boot-protocol   文件: MediaType.java
static int skipLws(StringReader input, boolean withReset) throws IOException {

            if (withReset) {
                input.mark(1);
            }
            int c = input.read();

            while (c == 32 || c == 9 || c == 10 || c == 13) {
                if (withReset) {
                    input.mark(1);
                }
                c = input.read();
            }

            if (withReset) {
                input.reset();
            }
            return c;
        }
 
源代码3 项目: HtmlUnit-Android   文件: CSSStyleSheet.java
/**
 * Returns the contents of the specified input source, ignoring any {@link IOException}s.
 * @param source the input source from which to read
 * @return the contents of the specified input source, or an empty string if an {@link IOException} occurs
 */
private static String toString(final InputSource source) {
    try {
        final Reader reader = source.getReader();
        if (null != reader) {
            // try to reset to produce some output
            if (reader instanceof StringReader) {
                final StringReader sr = (StringReader) reader;
                sr.reset();
            }
            return IOUtils.toString(reader);
        }
        return "";
    }
    catch (final IOException e) {
        return "";
    }
}
 
源代码4 项目: Tomcat7.0.67   文件: HttpParser.java
private static int skipLws(StringReader input, boolean withReset)
        throws IOException {

    if (withReset) {
        input.mark(1);
    }
    int c = input.read();

    while (c == 32 || c == 9 || c == 10 || c == 13) {
        if (withReset) {
            input.mark(1);
        }
        c = input.read();
    }

    if (withReset) {
        input.reset();
    }
    return c;
}
 
源代码5 项目: gemfirexd-oss   文件: IdUtil.java
/**
  Read an id from the StringReader provided.


  @param normalize true means return ids in nomral form, false means
        return them as they were entered.

  <P>
  Raise an exception if the first thing in the StringReader
  is not a valid id.

  @exception StandardException Ooops.
  */
private static String parseId(StringReader r, boolean normalize)
	 throws StandardException
{
	try {
		r.mark(0);
		int c = r.read();
		if (c == -1)  //id can't be 0-length
			throw StandardException.newException(SQLState.ID_PARSE_ERROR);
			r.reset();
		if (c == '"')
			return parseQId(r,normalize);
		else
			return parseUnQId(r,normalize);
	}

	catch (IOException ioe){
		throw StandardException.newException(SQLState.ID_PARSE_ERROR,ioe);
	}
}
 
源代码6 项目: spliceengine   文件: IdUtil.java
/**
  Read an id from the StringReader provided.


  @param normalize true means return ids in nomral form, false means
        return them as they were entered.

  <P>
  Raise an exception if the first thing in the StringReader
  is not a valid id.

  @exception StandardException Ooops.
  */
private static String parseId(StringReader r, boolean normalize)
	 throws StandardException
{
	try {
		r.mark(0);
		int c = r.read();
		if (c == -1)  //id can't be 0-length
			throw StandardException.newException(SQLState.ID_PARSE_ERROR);
			r.reset();
		if (c == '"')
			return parseQId(r,normalize);
		else
			return parseUnQId(r,normalize);
	}

	catch (IOException ioe){
		throw StandardException.newException(SQLState.ID_PARSE_ERROR,ioe);
	}
}
 
源代码7 项目: gemfirexd-oss   文件: IdUtil.java
/**
  Read an id from the StringReader provided.


  @param normalize true means return ids in nomral form, false means
        return them as they were entered.

  <P>
  Raise an exception if the first thing in the StringReader
  is not a valid id.

  @exception StandardException Ooops.
  */
private static String parseId(StringReader r, boolean normalize)
	 throws StandardException
{
	try {
		r.mark(0);
		int c = r.read();
		if (c == -1)  //id can't be 0-length
			throw StandardException.newException(SQLState.ID_PARSE_ERROR);
			r.reset();
		if (c == '"')
			return parseQId(r,normalize);
		else
			return parseUnQId(r,normalize);
	}

	catch (IOException ioe){
		throw StandardException.newException(SQLState.ID_PARSE_ERROR,ioe);
	}
}
 
源代码8 项目: gemfirexd-oss   文件: IdUtil.java
/**
    * Parse a regular identifier (unquoted) returning returning either
    * the value of the identifier or a delimited identifier. Ensures
    * that all characters in the identifer are valid for a regular identifier.
    * 
    * @param r Regular identifier to parse.
    * @param normalize If true return the identifer converted to a single case, otherwise return the identifier as entered.
    * @return the value of the identifer or a delimited identifier
    * @throws IOException Error accessing value
    * @throws StandardException Error parsing identifier.

    */
private static String parseUnQId(StringReader r, boolean normalize)
	 throws IOException,StandardException
{
	StringBuilder b = new StringBuilder();
	int c;
	boolean first;
	//
	for(first = true; ; first=false)
	{
		r.mark(0);
		if (idChar(first,c=r.read()))
			b.append((char)c);
		else
			break;
	}
	if (c != -1) r.reset();
       
       String id = b.toString();

	if (normalize)
		return StringUtil.SQLToUpperCase(id);
	else
		return id;
}
 
源代码9 项目: dts   文件: DiffUtils.java
public static String read(StringReader stringReader) {
    StringBuilder stringBuilder = new StringBuilder();
    try {
        stringReader.reset();
        int c;
        while ((c = stringReader.read()) != -1) {
            stringBuilder.append((char)c);
        }
        return stringBuilder.toString();
    } catch (IOException e) {
        return "";
    }
}
 
源代码10 项目: lams   文件: JsonParser.java
/**
 * 
 * @param reader
 *            JSON string reader.
 * @return
 *         New {@link JsonArray} object initialized by parsed JSON string.
 * @throws IOException
 *             if can't read
 */
public static JsonArray parseArray(StringReader reader) throws IOException {

    JsonArray arr = new JsonArray();
    JsonValue val;
    int openings = 0;

    int intch;
    while ((intch = reader.read()) != -1) {
        char ch = (char) intch;
        if (ch == StructuralToken.LSQBRACKET.CHAR || ch == StructuralToken.COMMA.CHAR) {
            if (ch == StructuralToken.LSQBRACKET.CHAR) {
                openings++;
            }
            if ((val = nextValue(reader)) != null) {
                arr.add(val);
            } else {
                reader.reset();
            }

        } else if (ch == StructuralToken.RSQBRACKET.CHAR) {
            openings--;
            break;

        } else if (!whitespaceChars.contains(ch)) {
            throw ExceptionFactory.createException(WrongArgumentException.class, Messages.getString("JsonParser.1", new Character[] { ch }));

        }
    }

    if (openings > 0) {
        throw ExceptionFactory.createException(WrongArgumentException.class,
                Messages.getString("JsonParser.3", new Character[] { StructuralToken.RSQBRACKET.CHAR }));
    }

    return arr;
}
 
源代码11 项目: gemfirexd-oss   文件: IdUtil.java
/**
  Parse a list of comma separated SQL identifiers returning
     them a as elements in an array.

  @param normalize true means return ids in nomral form, false means
        return them as they were entered.

  @exception StandardException Oops
  */
private static String[] parseIdList(StringReader r, boolean normalize)
	 throws StandardException
{
	Vector v = new Vector();
	while (true)
	{
		int delim;
		try {
			String thisId = IdUtil.parseId(r,normalize);
			v.addElement(thisId);
			r.mark(0);
			delim = r.read();
			if (delim != ',')
			{
				if (delim!=-1) r.reset();
				break;
			}
		}
		
		catch (StandardException se){
			if (se.getMessageId().equals(SQLState.ID_LIST_PARSE_ERROR))
				throw StandardException.newException(SQLState.ID_LIST_PARSE_ERROR,se);
			else
				throw se;
		}
		
		catch (IOException ioe){
			throw StandardException.newException(SQLState.ID_LIST_PARSE_ERROR,ioe);
		}
	}
	if (v.size() == 0) return null;
	String[] result = new String[v.size()];
	v.copyInto(result);
	return result;
}
 
源代码12 项目: groovy   文件: LexerFrame.java
private void scanScript(final StringReader reader) throws Exception {
    scriptPane.read(reader, null);
    reader.reset();

    // create lexer
    final GroovyLangLexer lexer = new GroovyLangLexer(reader);

    tokenPane.setEditable(true);
    tokenPane.setText("");

    int line = 1;
    final ButtonGroup bg = new ButtonGroup();
    Token token;

    while (true) {
        token = lexer.nextToken();
        JToggleButton tokenButton = new JToggleButton(tokens.get(token.getType()));
        bg.add(tokenButton);
        tokenButton.addActionListener(this);
        tokenButton.setToolTipText(token.getText());
        tokenButton.putClientProperty("token", token);
        tokenButton.setMargin(new Insets(0, 1, 0, 1));
        tokenButton.setFocusPainted(false);
        if (token.getLine() > line) {
            tokenPane.getDocument().insertString(tokenPane.getDocument().getLength(), "\n", null);
            line = token.getLine();
        }
        insertComponent(tokenButton);
        if (eof().equals(token.getType())) {
            break;
        }
    }

    tokenPane.setEditable(false);
    tokenPane.setCaretPosition(0);
    reader.close();
}
 
源代码13 项目: gemfirexd-oss   文件: IdUtil.java
/**
    * Parse a delimited (quoted) identifier returning either
    * the value of the identifier or a delimited identifier.
    * @param r Quoted identifier to parse.
    * @param normalize If true return a delimited identifer, otherwise return the identifier's value.
    * @return the value of the identifer or a delimited identifier
    * @throws IOException Error accessing value
    * @throws StandardException Error parsing identifier.
    */
private static String parseQId(StringReader r,boolean normalize)
	 throws IOException,StandardException
{
	StringBuilder b = new StringBuilder();
	int c = r.read();
	if (c != '"') throw StandardException.newException(SQLState.ID_PARSE_ERROR);
	while (true)
	{
		c=r.read();
		if (c == '"')
		{
			r.mark(0);
			int c2 = r.read();
			if (c2 != '"')
			{
				if (c2!=-1)r.reset();
				break;
			}
		}
		else if (c == -1)
			throw StandardException.newException(SQLState.ID_PARSE_ERROR);
		
		b.append((char)c);
	}

	if (b.length() == 0) //id can't be 0-length
		throw StandardException.newException(SQLState.ID_PARSE_ERROR);

	if (normalize)
		return b.toString();
	else
		return normalToDelimited(b.toString()); //Put the quotes back.
}
 
源代码14 项目: gemfirexd-oss   文件: IdUtil.java
/**
  Parse a list of comma separated SQL identifiers returning
     them a as elements in an array.

  @param normalize true means return ids in nomral form, false means
        return them as they were entered.

  @exception StandardException Oops
  */
private static String[] parseIdList(StringReader r, boolean normalize)
	 throws StandardException
{
	Vector v = new Vector();
	while (true)
	{
		int delim;
		try {
			String thisId = IdUtil.parseId(r,normalize);
			v.addElement(thisId);
			r.mark(0);
			delim = r.read();
			if (delim != ',')
			{
				if (delim!=-1) r.reset();
				break;
			}
		}
		
		catch (StandardException se){
			if (se.getMessageId().equals(SQLState.ID_LIST_PARSE_ERROR))
				throw StandardException.newException(SQLState.ID_LIST_PARSE_ERROR,se);
			else
				throw se;
		}
		
		catch (IOException ioe){
			throw StandardException.newException(SQLState.ID_LIST_PARSE_ERROR,ioe);
		}
	}
	if (v.size() == 0) return null;
	String[] result = new String[v.size()];
	v.copyInto(result);
	return result;
}
 
源代码15 项目: spliceengine   文件: IdUtil.java
/**
  Parse a list of comma separated SQL identifiers returning
     them a as elements in an array.

  @param normalize true means return ids in nomral form, false means
        return them as they were entered.

  @exception StandardException Oops
  */
private static String[] parseIdList(StringReader r, boolean normalize)
	 throws StandardException
{
	Vector v = new Vector();
	while (true)
	{
		int delim;
		try {
			String thisId = IdUtil.parseId(r,normalize);
			v.add(thisId);
			r.mark(0);
			delim = r.read();
			if (delim != ',')
			{
				if (delim!=-1) r.reset();
				break;
			}
		}
		
		catch (StandardException se){
			if (se.getMessageId().equals(SQLState.ID_LIST_PARSE_ERROR))
				throw StandardException.newException(SQLState.ID_LIST_PARSE_ERROR,se);
			else
				throw se;
		}
		
		catch (IOException ioe){
			throw StandardException.newException(SQLState.ID_LIST_PARSE_ERROR,ioe);
		}
	}
	if (v.isEmpty()) return null;
	String[] result = new String[v.size()];
	v.copyInto(result);
	return result;
}
 
源代码16 项目: gemfirexd-oss   文件: IdUtil.java
/**
    * Parse a delimited (quoted) identifier returning either
    * the value of the identifier or a delimited identifier.
    * @param r Quoted identifier to parse.
    * @param normalize If true return a delimited identifer, otherwise return the identifier's value.
    * @return the value of the identifer or a delimited identifier
    * @throws IOException Error accessing value
    * @throws StandardException Error parsing identifier.
    */
private static String parseQId(StringReader r,boolean normalize)
	 throws IOException,StandardException
{
	StringBuilder b = new StringBuilder();
	int c = r.read();
	if (c != '"') throw StandardException.newException(SQLState.ID_PARSE_ERROR);
	while (true)
	{
		c=r.read();
		if (c == '"')
		{
			r.mark(0);
			int c2 = r.read();
			if (c2 != '"')
			{
				if (c2!=-1)r.reset();
				break;
			}
		}
		else if (c == -1)
			throw StandardException.newException(SQLState.ID_PARSE_ERROR);
		
		b.append((char)c);
	}

	if (b.length() == 0) //id can't be 0-length
		throw StandardException.newException(SQLState.ID_PARSE_ERROR);

	if (normalize)
		return b.toString();
	else
		return normalToDelimited(b.toString()); //Put the quotes back.
}
 
源代码17 项目: spliceengine   文件: IdUtil.java
/**
    * Parse a delimited (quoted) identifier returning either
    * the value of the identifier or a delimited identifier.
    * @param r Quoted identifier to parse.
    * @param normalize If true return a delimited identifer, otherwise return the identifier's value.
    * @return the value of the identifer or a delimited identifier
    * @throws IOException Error accessing value
    * @throws StandardException Error parsing identifier.
    */
private static String parseQId(StringReader r,boolean normalize)
	 throws IOException,StandardException
{
	StringBuilder b = new StringBuilder();
	int c = r.read();
	if (c != '"') throw StandardException.newException(SQLState.ID_PARSE_ERROR);
	while (true)
	{
		c=r.read();
		if (c == '"')
		{
			r.mark(0);
			int c2 = r.read();
			if (c2 != '"')
			{
				if (c2!=-1)r.reset();
				break;
			}
		}
		else if (c == -1)
			throw StandardException.newException(SQLState.ID_PARSE_ERROR);
		
		b.append((char)c);
	}

	if (b.length() == 0) //id can't be 0-length
		throw StandardException.newException(SQLState.ID_PARSE_ERROR);

	if (normalize)
		return b.toString();
	else
		return normalToDelimited(b.toString()); //Put the quotes back.
}
 
源代码18 项目: FoxTelem   文件: JsonParser.java
private static String nextKey(StringReader reader) throws IOException {
    reader.mark(1);

    JsonString val = parseString(reader);
    if (val == null) {
        reader.reset();
    }

    // find delimiter
    int intch;
    char ch = ' ';
    while ((intch = reader.read()) != -1) {
        ch = (char) intch;
        if (ch == StructuralToken.COLON.CHAR) {
            // key/value delimiter found
            break;
        } else if (ch == StructuralToken.RCRBRACKET.CHAR) {
            // end of document
            break;
        } else if (!whitespaceChars.contains(ch)) {
            throw ExceptionFactory.createException(WrongArgumentException.class, Messages.getString("JsonParser.1", new Character[] { ch }));
        }
    }

    if (ch != StructuralToken.COLON.CHAR && val != null && val.getString().length() > 0) {
        throw ExceptionFactory.createException(WrongArgumentException.class, Messages.getString("JsonParser.4", new String[] { val.getString() }));
    }
    return val != null ? val.getString() : null;
}
 
源代码19 项目: FoxTelem   文件: JsonParser.java
private static JsonValue nextValue(StringReader reader) throws IOException {
    reader.mark(1);
    int intch;
    while ((intch = reader.read()) != -1) {
        char ch = (char) intch;
        if (ch == EscapeChar.QUOTE.CHAR) {
            // String detected
            reader.reset();
            return parseString(reader);

        } else if (ch == StructuralToken.LSQBRACKET.CHAR) {
            // array detected
            reader.reset();
            return parseArray(reader);

        } else if (ch == StructuralToken.LCRBRACKET.CHAR) {
            // inner Object detected
            reader.reset();
            return parseDoc(reader);

        } else if (ch == '\u002D' || (ch >= '\u0030' && ch <= '\u0039')) { // {-,0-9}
            // Number detected
            reader.reset();
            return parseNumber(reader);

        } else if (ch == JsonLiteral.TRUE.value.charAt(0)) {
            // "true" literal detected
            reader.reset();
            return parseLiteral(reader);

        } else if (ch == JsonLiteral.FALSE.value.charAt(0)) {
            // "false" literal detected
            reader.reset();
            return parseLiteral(reader);

        } else if (ch == JsonLiteral.NULL.value.charAt(0)) {
            // "null" literal detected
            reader.reset();
            return parseLiteral(reader);

        } else if (ch == StructuralToken.RSQBRACKET.CHAR) {
            // empty array
            return null;

        } else if (!whitespaceChars.contains(ch)) {
            throw ExceptionFactory.createException(WrongArgumentException.class, Messages.getString("JsonParser.1", new Character[] { ch }));
        }
        reader.mark(1);
    }

    throw ExceptionFactory.createException(WrongArgumentException.class, Messages.getString("JsonParser.5"));
}
 
源代码20 项目: remotekeyboard   文件: Pager.java
/**
   * Method that pages the String to the client terminal,
   * being aware of its geometry, and its geometry changes.
   *
   * @param str String to be paged.
   */
  public void page(String str) throws IOException {
    terminalGeometryChanged();
    boolean autoflush = m_IO.isAutoflushing();
    m_IO.setAutoflushing(true);
    //store raw
    m_Source = new StringReader(str);
    //do renderchunks
    m_ChunkPos = 0;
    m_LastNewChunk = 0;
    m_EOS = false;
    m_NoPrompt = false;

    renderChunks();
    if (m_Chunks.size() == 1) {
      m_IO.write((String) m_Chunks.elementAt(0));
    } else {
      m_IO.homeCursor();
      m_IO.eraseScreen();
      m_IO.write((String) m_Chunks.elementAt(m_ChunkPos));
      updateStatus();
      m_Status.draw();
      //storage for read byte
      int in = 0;
      do {
        m_NoPrompt = false;

        //get next key
        in = m_IO.read();
        if (terminalGeometryChanged()) {
          try {
            m_Source.reset();
          } catch (Exception ex) {
          }
          renderChunks();
          m_ChunkPos = 0;
          m_LastNewChunk = 0;
          m_EOS = false;
          m_NoPrompt = false;
          m_IO.homeCursor();
          m_IO.eraseScreen();
          m_IO.write((String) m_Chunks.elementAt(m_ChunkPos));
          updateStatus();
          m_Status.draw();
          continue;
        }
        switch (in) {
          case BasicTerminalIO.UP:
            drawPreviousPage();
            break;
          case BasicTerminalIO.DOWN:
            drawNextPage();
            break;
          case SPACE:
            drawNextPage();
            break;
          default:
            //test for stopkey, cant be switched because not constant
            if (in == m_StopKey) {
              //flag loop over
              in = -1;
              continue; //so that we omit prompt and return
            } else {
              m_IO.bell();
              continue;
            }
        }
        if (m_EOS) {
          in = -1;
          continue;
        }
        //prompt
        if (!m_NoPrompt) {
          updateStatus();
          m_Status.draw();
        }
      } while (in != -1);
      m_IO.eraseToEndOfLine();

    }
    m_IO.write("\n");
    m_Source.close();
    m_IO.setAutoflushing(autoflush);
  }