simplelineiterator.java

来自「kaffe是一个java虚拟机的源代码。里面包含了一些java例程和标准的jav」· Java 代码 · 共 96 行

JAVA
96
字号
package java.text;/* * Java core library component. * * Copyright (c) 1997, 1998 *      Transvirtual Technologies, Inc.  All rights reserved. * * See the file "license.terms" for information on usage and redistribution * of this file. */class SimpleLineIterator  extends BreakIterator{	CharacterIterator iterator = new StringCharacterIterator("");public int current() {	return (iterator.getIndex());}public int first() {	iterator.first();	return (iterator.getIndex());		}public int following( int offs) {	int pos = iterator.getIndex();	iterator.setIndex( iterator.getBeginIndex() + offs);	if ( iterator.current() == CharacterIterator.DONE ) {		iterator.setIndex( pos);		return DONE;	}	return (next());		}public CharacterIterator getText() {	return iterator;}public int last() {	iterator.last();	return (previous());		}public int next() {	int pos = iterator.getIndex();	boolean nl = false;		for ( char c = iterator.next();;c = iterator.next() ) {		if ( c == CharacterIterator.DONE )			break;		if ( Character.getType( c) == Character.LINE_SEPARATOR )			nl = true;		else if ( nl )			return (iterator.getIndex());	}				iterator.setIndex( pos);	return DONE;}public int next( int num) {	int max = (num > 0) ? num : -num;		for ( int idx=0; idx<max; idx++) {		if ( CharacterIterator.DONE == ((num > 0) ? next() : previous()) )			return (DONE);	}		return (iterator.getIndex());}public int previous() {	int nl = 0;		for ( char c = iterator.previous();;c = iterator.previous() ) {		if ( c == CharacterIterator.DONE )			break;		if ( Character.getType( c) == Character.LINE_SEPARATOR ) {			nl++;			if ( nl == 2) {				iterator.next();				return (iterator.getIndex());			}		}	}	return (DONE);}public void setText( CharacterIterator ci) {	iterator = ci;}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?