📄 stringscanner.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
// Source File Name: StringScanner.java
package org.pf.text;
public class StringScanner
{
public static final char END_REACHED = 65535;
protected int length;
protected int position;
protected int pos_marker;
protected char buffer[];
public boolean endReached(char character)
{
return character == '\uFFFF';
}
public boolean endNotReached(char character)
{
return !endReached(character);
}
public StringScanner(String stringToScan)
{
length = 0;
position = 0;
pos_marker = 0;
buffer = null;
length = stringToScan.length();
buffer = new char[length];
stringToScan.getChars(0, length, buffer, 0);
}
public String toString()
{
return new String(buffer);
}
public void skip(int count)
{
position += count;
if (position < 0)
position = 0;
}
public char peek()
{
return position >= length() ? '\uFFFF' : buffer[position];
}
public char nextChar()
{
char next = peek();
if (endNotReached(next))
skip(1);
return next;
}
public boolean atEnd()
{
return endReached(peek());
}
public boolean hasNext()
{
return !atEnd();
}
public char nextNoneWhitespaceChar()
{
char next;
for (next = nextChar(); endNotReached(next) && Character.isWhitespace(next); next = nextChar());
return next;
}
public int getPosition()
{
return position;
}
public void markPosition()
{
pos_marker = position;
}
public void restorePosition()
{
setPosition(pos_marker);
}
protected int length()
{
return length;
}
protected void setPosition(int pos)
{
if (pos >= 0 && pos <= length())
position = pos;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -