📄 jsourcecodewizardprocessormojiutil.java
字号:
/**
* IgaLib -> wizard
* Copyright (C) 2001 Tosiki IGA , IgaLib project member
* (http://homepage2.nifty.com/igat/igapyon/index.html)
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package jp.ne.nifty.iga.tosiki.wizard;
import jp.ne.nifty.iga.tosiki.string.IndentWriter;
import java.io.*;
/**
* JSourceCodeWizardProcessor 偺僿儖僷乕僋儔僗<BR>
* MojiUtil偺庢傝崬傒晹暘偱偡<BR>
*
* @author Tosiki IGA
*/
public class JSourceCodeWizardProcessorMojiUtil
{
/**
* trimRight()帪偵 寢壥 挿偝偑0偵側傞偺側傜trimRight()傪梷惂偡傞僗僀僢僠丅
*/
public static final boolean TRIAL_ADDITIONAL_TRIM_RIGHT=false;
/**
* 嫟捠娭悢傪偢偽偭偲憓擖偟傑偡丅
* 偙偺応強帺恎偼 怗傜側偄偱偔偩偝偄丅
*/
public static final void writeMojiUtil(
IndentWriter out)
throws IOException
{
// 偙偙偐傜壓偺斖埻偵揬傝晅偗
out.println(" /**");
out.println(" * 梌偊傜傟偨暥帤楍傪壜擻側尷傝悢帤壔偟傑偡丅<BR>");
out.println(" * 偙偺儊僜僢僪偼敿妏悢帤偺傒桳岠偱偡丅");
out.println(" * 偨偩偟扨懱僥僗僩偟偰傒偨偲偙傠丄Integer.parseInt()偼慡妏暥帤傕");
out.println(" * 埖偊偰偟傑偊傞 (偮傑傝 偙偺傔偦偭偳偱傕棙梡壜擻側) 柾條偱偡丅(at JDK1.3.1)");
out.println(" * ");
out.println(" * @param String strInput 擖椡暥帤楍");
out.println(" * @return int 拪弌偝傟偨悢帤");
out.println(" */");
out.println(" public static final int toInteger(String strInput)");
out.println(" {");
out.println(" if(strInput==null");
out.println(" || strInput.length()==0)");
out.println(" {");
out.println(" return 0;");
out.println(" }");
out.println(" try{");
out.println(" return Integer.parseInt(strInput);");
out.println(" }catch(java.lang.NumberFormatException ex){");
out.println(" return 0;");
out.println(" }");
out.println(" }");
out.println("");
out.println(" /**");
out.println(" * 梌偊傜傟偨暥帤楍傪巜掕挿偝偵傄偭偨傝偵廂傑傞傛偆壛岺偡傞儊僜僢僪<BR>");
out.println(" * 2僶僀僩1暥帤偺暥帤偼2暥帤偲偟偰僇僂儞僩偟傑偡丅<BR>");
out.println(" * 亂拲堄亃偙偺儊僜僢僪偵偮偄偰偼 JSourceCodeWizard僋儔僗偑嶌惉偡傞傂側宍僜乕僗僐乕僪");
out.println(" * 偺堦晹偲偟偰棙梡偝傟傑偡丅偛棟夝偲偛嫤椡偺傎偳 偳偆偧傛傠偟偔偍婅偄偄偨偟傑偡丅<BR>");
out.println(" * <BR>");
out.println(" * 側偍丄尰嵼偺幚憰偱偼 EUC偵偍偄偰敿妏僇僞僇僫偑2僶僀僩偵側傞審偵偮偄偰懳墳偟偰偄傑偣傫<BR>");
out.println(" * ");
out.println(" * @param String strInput 擖椡暥帤楍");
out.println(" * @param int iLength 惗惉偟偨偄挿偝");
out.println(" * @param char cFill 杽傔傞暥帤");
out.println(" * @return String 晹暘暥帤楍");
out.println(" */");
out.println(" public static final String fitRight(String strInput,int iLength,char cFill)");
out.println(" {");
out.println(" try{");
out.println(" StringReader reader=new StringReader(strInput);");
out.println(" StringWriter writer=new StringWriter();");
out.println(" for(int iCurrentLength=0;;)");
out.println(" {");
out.println(" int iRead=reader.read();");
out.println(" if(iRead<0)break;");
out.println(" if(iRead>0xff)");
out.println(" {");
out.println(" iCurrentLength+=2;");
out.println(" }");
out.println(" else");
out.println(" {");
out.println(" iCurrentLength+=1;");
out.println(" }");
out.println(" if(iCurrentLength<=iLength)");
out.println(" {");
out.println(" writer.write(iRead);");
out.println(" }");
out.println(" else");
out.println(" {");
out.println(" break;");
out.println(" }");
out.println(" }");
out.println(" reader.close();");
out.println(" writer.flush();");
out.println(" writer.close();");
out.println(" return padRight(writer.toString(),iLength,cFill);");
out.println(" }catch(IOException ex){");
out.println(" System.out.println(ex.toString());");
out.println(" ex.printStackTrace();");
out.println(" return null;");
out.println(" }");
out.println(" }");
out.println("");
out.println(" /**");
out.println(" * 梌偊傜傟偨暥帤楍傪巜掕挿偝傑偱塃懁偵巜掕暥帤傪杽傔傞儊僜僢僪<BR>");
out.println(" * 2僶僀僩1暥帤偺暥帤偼2暥帤偲偟偰僇僂儞僩偟傑偡丅<BR>");
out.println(" * 亂拲堄亃偙偺儊僜僢僪偵偮偄偰偼 JSourceCodeWizard僋儔僗偑嶌惉偡傞傂側宍僜乕僗僐乕僪");
out.println(" * 偺堦晹偲偟偰棙梡偝傟傑偡丅偛棟夝偲偛嫤椡偺傎偳 偳偆偧傛傠偟偔偍婅偄偄偨偟傑偡丅<BR>");
out.println(" * ");
out.println(" * @param String strInput 擖椡暥帤楍");
out.println(" * @param int iLength 惗惉偟偨偄挿偝");
out.println(" * @param char cFill 杽傔傞暥帤丅");
out.println(" * @return String 晹暘暥帤楍");
out.println(" */");
out.println(" public static final String padRight(String strInput,int iLength,char cFill)");
out.println(" {");
out.println(" try{");
out.println(" int iInputLength=strInput.getBytes().length;");
out.println("");
out.println(" StringWriter writer=new StringWriter();");
out.println(" writer.write(strInput);");
out.println("");
out.println(" for(int iCurrentLength=iInputLength;;)");
out.println(" {");
out.println(" if(cFill>0xff)");
out.println(" {");
out.println(" iCurrentLength+=2;");
out.println(" if(iCurrentLength>iLength)");
out.println(" {");
out.println(" if(iCurrentLength==(iLength+1))");
out.println(" {");
out.println(" writer.write(' ');");
out.println(" }");
out.println(" break;");
out.println(" }");
out.println(" }");
out.println(" else");
out.println(" {");
out.println(" iCurrentLength+=1;");
out.println(" }");
out.println("");
out.println(" if(iCurrentLength<=iLength)");
out.println(" {");
out.println(" writer.write(cFill);");
out.println(" }");
out.println(" else");
out.println(" {");
out.println(" break;");
out.println(" }");
out.println(" }");
out.println("");
out.println(" writer.flush();");
out.println(" writer.close();");
out.println("");
out.println(" return writer.toString();");
out.println(" }catch(IOException ex){");
out.println(" System.out.println(ex.toString());");
out.println(" ex.printStackTrace();");
out.println(" return null;");
out.println(" }");
out.println(" }");
out.println("");
out.println(" /**");
out.println(" * 梌偊傜傟偨暥帤楍偺塃懁傪愗傝偮傔傞儊僜僢僪");
out.println(" * 敿妏嬻敀偲慡妏嬻敀傪愗傝偮傔傑偡");
out.println(" * 亂拲堄亃偙偺儊僜僢僪偵偮偄偰偼 JSourceCodeWizard僋儔僗偑嶌惉偡傞傂側宍僜乕僗僐乕僪");
out.println(" * 偺堦晹偲偟偰棙梡偝傟傑偡丅偛棟夝偲偛嫤椡偺傎偳 偳偆偧傛傠偟偔偍婅偄偄偨偟傑偡丅<BR>");
out.println(" * ");
out.println(" * @param String strInput 擖椡暥帤楍");
out.println(" * @return String 愗傝偮傔屻暥帤楍");
out.println(" */");
out.println(" public static final String trimRight(String strInput)");
out.println(" {");
if(TRIAL_ADDITIONAL_TRIM_RIGHT)out.println(" if(strInput.trim().length()==0)return strInput;");
out.println(" try{");
out.println(" StringReader reader=new StringReader(strInput);");
out.println(" StringWriter writer=new StringWriter();");
out.println(" StringBuffer strbufWhiteSpace=new StringBuffer();");
out.println("");
out.println(" for(;;)");
out.println(" {");
out.println(" int iRead=reader.read();");
out.println(" if(iRead<0)break;");
out.println(" if(iRead==' '");
out.println(" || iRead=='丂')");
out.println(" {");
out.println(" strbufWhiteSpace.append((char)iRead);");
out.println(" }");
out.println(" else");
out.println(" {");
out.println(" writer.write(strbufWhiteSpace.toString());");
out.println(" strbufWhiteSpace=new StringBuffer();");
out.println(" writer.write(iRead);");
out.println(" }");
out.println(" }");
out.println("");
out.println(" reader.close();");
out.println(" writer.flush();");
out.println(" writer.close();");
out.println("");
out.println(" return writer.toString();");
out.println(" }catch(IOException ex){");
out.println(" System.out.println(ex.toString());");
out.println(" ex.printStackTrace();");
out.println(" return null;");
out.println(" }");
out.println(" }");
out.println("");
out.println(" /**");
out.println(" * 梌偊傜傟偨暥帤楍偺堦晹暘傪庢摼偡傞儊僜僢僪");
out.println(" * 2僶僀僩1暥帤偺暥帤偼2暥帤偲偟偰僇僂儞僩偟傑偡丅");
out.println(" * Unicode揑側摦嶌偼峴偄傑偣傫丅");
out.println(" * 暥帤偑搑拞偱暘抐偝傟傞応崌偼 偦偺暥帤偼徣偒 敿妏嬻敀傪杽傔傑偡丅<BR>");
out.println(" * 亂拲堄亃偙偺儊僜僢僪偵偮偄偰偼 JSourceCodeWizard僋儔僗偑嶌惉偡傞傂側宍僜乕僗僐乕僪");
out.println(" * 偺堦晹偲偟偰棙梡偝傟傑偡丅偛棟夝偲偛嫤椡偺傎偳 偳偆偧傛傠偟偔偍婅偄偄偨偟傑偡丅<BR>");
out.println(" * ");
out.println(" * @param String strInput 擖椡暥帤楍");
out.println(" * @param int iStart 奐巒埵抲 (0僆儕僕儞)");
out.println(" * @param int iLength 庢摼挿偝");
out.println(" * @return String 晹暘暥帤楍");
out.println(" */");
out.println(" public static final String subString(String strInput,int iStart,int iLength)");
out.println(" {");
out.println(" if(strInput==null)return null;");
out.println(" if(iLength<=0)return \"\";");
out.println(" try{");
out.println(" StringReader reader=new StringReader(strInput);");
out.println(" StringWriter writer=new StringWriter();");
out.println(" int iTotalLength=0;");
out.println(" // 僗僞乕僩抧揰傑偱憗憲傝");
out.println(" for(int iCurrentLength=0;iCurrentLength<iStart;)");
out.println(" {");
out.println(" int iRead=reader.read();");
out.println(" if(iRead<0)");
out.println(" {");
out.println(" // 僗僞乕僩抧揰偵撏偔慜偵廔椆");
out.println(" return \"\";");
out.println(" }");
out.println(" if(iRead>0xff)");
out.println(" {");
out.println(" iCurrentLength+=2;");
out.println(" if(iCurrentLength>=iStart)");
out.println(" {");
out.println(" if(iCurrentLength>iStart)");
out.println(" {");
out.println(" writer.write(' ');");
out.println(" iTotalLength++;");
out.println(" }");
out.println(" break;");
out.println(" }");
out.println(" }");
out.println(" else");
out.println(" {");
out.println(" iCurrentLength+=1;");
out.println(" }");
out.println(" }");
out.println(" // 巜掕挿偝偩偗撉傒偲傝");
out.println(" for(;iTotalLength<iLength;)");
out.println(" {");
out.println(" int iRead=reader.read();");
out.println(" if(iRead<0)break;");
out.println(" if(iRead>0xff)");
out.println(" {");
out.println(" iTotalLength+=2;");
out.println(" if(iTotalLength>iLength)");
out.println(" {");
out.println(" writer.write(' ');");
out.println(" break;");
out.println(" }");
out.println(" }");
out.println(" else");
out.println(" {");
out.println(" iTotalLength+=1;");
out.println(" }");
out.println("");
out.println(" writer.write(iRead);");
out.println(" }");
out.println(" writer.flush();");
out.println(" writer.close();");
out.println(" return writer.toString();");
out.println(" }catch(IOException ex){");
out.println(" System.out.println(ex.toString());");
out.println(" ex.printStackTrace();");
out.println(" return null;");
out.println(" }");
out.println(" }");
// 偙偙傑偱偺斖埻偵揬傝晅偗
out.println("");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -