⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gscsvrecord.java

📁 一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。
💻 JAVA
字号:
package jp.co.sjts.gsession.tools;
import java.text.StringCharacterIterator;
import java.text.CharacterIterator;

/**
 * CSV僼傽僀儖偐傜儗僐乕僪扨埵偺暘妱張棟傪峴偄傑偡丅
 *
 * @author Hideyuki KITADE <kitade@sjts.co.jp>
 */
public class GSCsvRecord{
	private String strData           ;
	private int    intPos     = 0    ;
	private int    intMax            ; //僨乕僞挿

	/**
	 *  CSV僼傽僀儖偺撪梕傪String宆偱僙僢僩偟傑偡丅
	 *
	 *  @param    strData    CSV僼傽僀儖偺撪梕
	 */
	public GSCsvRecord(String strData){
		this.strData = strData;
		intMax = this.strData.length();
	}

	/**
	 *  CSV僼傽僀儖偺撪梕(char[]宆)傪String宆偱僙僢僩偟傑偡丅
	 *
	 *  @param    chrData    CSV僼傽僀儖偺撪梕
	 */
	public GSCsvRecord(char[] chrData){
		this.strData = new String(chrData);
		intMax = this.strData.length();
	}

	/**
	 *  師偺儕僞乕儞埵抲傪曉偟傑偡丅
	 *
	 *  @param    intStart 奐巒埵抲
	 *  @return   師偺儕僞乕儞埵抲
	 */
	private int __nextRt(int intStart){
		if (intStart >= intMax){
			return intMax;
		}

		boolean blnFlg = false;
		String str = "";
		str = strData.substring(intStart);

		StringCharacterIterator stit= new StringCharacterIterator(str);

		for(char ch=stit.first();ch!=CharacterIterator.DONE;ch=stit.next()){
			intStart++;
			if (ch == '\n' && blnFlg ){
				break;
			}else if (ch == '\r'){
				blnFlg = true;
			}else{
				blnFlg = false;
			}
		}
		return intStart;
	}

	/**
	 *  儗僐乕僪悢傪曉偟傑偡丅
	 *
	 *  @return   儗僐乕僪悢
	 */
	public int getCount(){
		int i   = 0;
		int intCnt = 1;
		while ((i = __nextRt(i)) < intMax) {
			i ++;
			intCnt ++;
		}
		return intCnt;
	}

	/**
	 *  師偺儗僐乕僪傪偐偊偟傑偡丅
	 *
	 *  @return    1儗僐乕僪
	 */
	public String getNextRecord(){
		if (intPos >= intMax){                            //師偺僨乕僞偑側偔側偭偰傕僄儔乕側偟偵偡傞
			return "";
		}
		int intNextp = __nextRt(intPos);
		String str = strData.substring(intPos,intNextp);
		intPos = intNextp;
		return str;
	}

	/**
	 *  師偺儗僐乕僪偑桳傞偐妋擣偟傑偡丅
	 *
	 *  @return    師偺true 儗僐乕僪偼懚嵼偟傑偡丅false 師偺儗僐乕僪偼懚嵼偟傑偣傫丅
	 */
	public boolean hasMoreRecord(){
		return (__nextRt(intPos) < intMax);
	}
}

⌨️ 快捷键说明

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