📄 stringmanager.java
字号:
package com;
/**
* Title:顶赢科技有限公司
* Description:
* Copyright: Copyright (c) 2002
* Company:顶赢科技有限公司
* @author 杜永飞
* @version 1.0
*/
import sun.io.*;
import java.io.*;
import java.text.NumberFormat;
import java.util.*;
import java.math.BigDecimal;
public class StringManager {
public StringManager() {
}
//显示中文
public static String switchChinese(String str) {
try{
String temp;
byte[] temp_byte=str.getBytes("ISO8859-1");
temp=new String(temp_byte,"GBK");
return temp;
}
catch(Exception e){
return null;
}
}
//显示中文 modify 2007-05-25
public static String switchUTF8(String str) {
try{
String temp;
byte[] temp_byte=str.getBytes("ISO8859-1");
temp=new String(temp_byte,"utf-8");
return temp;
}
catch(Exception e){
return null;
}
}
//将数字格式化成货币样式ren 07_01_04
public static String Mformat(String str){
double x=Double.parseDouble(str);
NumberFormat formatter= NumberFormat.getNumberInstance();
String s=formatter.format(x);
return s;
}
public static String switchEnglish(String str) {
try{
String temp;
byte[] temp_byte=str.getBytes("GBK");
temp=new String(temp_byte,"ISO8859-1");
return temp;
}
catch(Exception e){
return null;
}
}
//用odbc桥时,转中文(SUN BUG)
public static String makeinsertstring(String s){
if (s==null) return "";
int oldStringLen=0;
oldStringLen=s.length();
StringBuilder spaceString = new StringBuilder();
for(int i=0;i<=oldStringLen;i++)
spaceString.append(" ");
s = s + spaceString.toString();
return s;
}
public static String toEncoding(String str,String encoding){
try{
byte[] from=str.getBytes();
ByteToCharConverter converter=ByteToCharConverter.getConverter(encoding);
char[] to=converter.convertAll(from);
return new String(to);
}
catch(Exception e){
return null;
}
}
public static boolean isNumber(String str){
if(str==null)
return false;
if(str.length()==0)
return false;
boolean number=true;
int point=0;
for(int i=0;i<str.length();i++){
char tmp=str.charAt(i);
if(i==0){
if(!(tmp=='+'||tmp=='-'||(tmp>='0'&&tmp<='9')||tmp=='.'))
number=false;
if(tmp=='.')
point++;
}else{
if(!((tmp>='0'&&tmp<='9')||tmp=='.'))
number=false;
if(tmp=='.')
point++;
}
}
if(point>1)
number=false;
return number;
}
public static String getHtml1(String contents){
String _return="\r\n";
int find=0;
if(contents==null)
return "";
if(contents.length()==0)
return "";
//replace "return" by "<br>".
while(true){
find=contents.indexOf(_return,find);
if(find==-1)
break;
contents=contents.substring(0,find)+"<br>"+contents.substring(find+2,contents.length());
}
return contents;
}
/**将字符串改为html文档格式*/
public static String getHtml(String contents){
String _return="\r\n";
int find=0;
if(contents==null)
return "";
if(contents.length()==0)
return "";
//replace "return" by "<br>".
while(true){
find=contents.indexOf(_return,find);
if(find==-1)
break;
contents=contents.substring(0,find)+"<br>"+contents.substring(find+2,contents.length());
}
find=0;
//replace "space" by " ".
while(true){
find=contents.indexOf(" ",find);
if(find==-1)
break;
contents=contents.substring(0,find)+" "+contents.substring(find+1,contents.length());
}
return contents;
}
public static String[] getTokenizers(String string){
return getTokenizers(string,",");
}
/**分割带标记的字符串成数组*/
public static String[] getTokenizers(String string,String delim){
if(string==null)
return null;
StringTokenizer st=new StringTokenizer(string,delim);
int count=st.countTokens();
String[] returnValue;
if(count==0){
returnValue=new String[1];
returnValue[0]=string;
return returnValue;
}
returnValue=new String[count];
int i=0;
do{
returnValue[i]=st.nextToken();
i++;
}while(st.hasMoreElements());
return returnValue;
}
/**将回车、换行、双引号转换为空格*/
public static String getNoReturn(String string){
char oldChar1=13;//回车
char oldChar2=10;//换行
char oldChar3="\"".charAt(0);//引号
char newChar=32;//空格
if(string==null)
return null;
string=string.replace(oldChar1,newChar);
string=string.replace(oldChar2,newChar);
string=string.replace(oldChar3,newChar);
return string;
}
public static String getTable(String[][] data){
if(data!=null&&data.length>0)
return getTable(data,data.length,data[0].length);
else
return "";
}
public static String getTable(String[][] data,int cols){
if(data!=null&&data.length>0)
return getTable(data,data.length,cols);
else
return "";
}
public static String getTable(String[][] data,int rows,int cols){
if(data==null)
return "";
String returnValue="";
for(int i=0;i<rows;i++){
returnValue+="<tr>";
for(int n=0;n<cols;n++){
returnValue+="<td>"+data[i][n]+"</td>";
}
returnValue+="</tr>";
}
return returnValue;
}
public static String getTable(String[][] data,String tr,String td,String type){
if(data==null)
return "";
String value="";
for(int i=0;i<data.length;i++){
//radio
// if(type.equalsIgnoreCase("radio")){
// value+="<tr "+tr+">";
// value+="<td "+td+"><input type='radio' name='cb' value=\""+data[i][0]+"\"></td>";
// for(int n=1;n<data[i].length;n++){
// value+="<td "+td+">"+data[i][n]+"</td>";
// }
// value+="</tr>";
// }
// //radio+hidden
// else
if(type.equalsIgnoreCase("radio1")){
value+="<tr "+tr+">";
value+="<td "+td+"><input type='radio' name='cb' value=\""+data[i][0]+"\"><input type='hidden' name='hid' value=\""+data[i][0]+"\"></td>";
for(int n=1;n<data[i].length;n++){
value+="<td "+td+">"+data[i][n]+"</td>";
}
value+="</tr>";
}
//radio
else if(type.equalsIgnoreCase("radio")){
value+="<tr "+tr+">";
value+="<td "+td+"><input type='radio' name='rd' value=\""+data[i][0]+"\" "+(i==0?"checked":"")+"></td>";
for(int n=1;n<data[i].length;n++){
value+="<td "+td+">"+data[i][n]+"</td>";
}
value+="</tr>";
}
else{
value+="<tr "+tr+">";
for(int n=0;n<data[i].length;n++){
value+="<td "+td+">"+data[i][n]+"</td>";
}
value+="</tr>";
}
}
return value;
}
public static String getTable(String[][] data,String[][] input,String td){
if(data==null)
return "";
String returnValue="";
for(int i=0;i<data.length;i++){
returnValue+="<tr id=\"trs\" ondblclick=\"on_dblclick("+i+");\" onclick=\"displayMe("+i+");\" bgcolor=\"#E3E3E3\" style=\"cursor:hand\">";
for(int n=0;n<data[0].length;n++){
if(data[i][n].length()==0)
data[i][n]=" ";
boolean find=false;
for(int m=0;m<input.length;m++){
if(input[m][0].equals(""+n)){
if(input[m][1].equalsIgnoreCase("hidden"))
returnValue+="<td "+td+"><input type='"+input[m][1]+"' name='"+input[m][2]+"' value=\""+data[i][n]+"\">"+data[i][n]+"</td>";
else
returnValue+="<td "+td+"><input type='"+input[m][1]+"' name='"+input[m][2]+"' value=\""+data[i][n]+"\"></td>";
find=true;
}
}
if(!find)
returnValue+="<td "+td+">"+data[i][n]+"</td>";
}
returnValue+="</tr>";
}
return returnValue;
}
public static String getOptions(String[][] data,String key){
String returnV="";
if(data!=null){
for(int i=0;i<data.length;i++){
if(data[i][0].equals(key))
returnV+="<option value='"+data[i][0]+"' selected>"+data[i][1]+"</option>";
/*
else if(data[i][1].equals("系统赋值"))
returnV+="<option value='\""+data[i][0]+"\"'>"+data[i][1]+"</option>";*/
else
returnV+="<option value='"+data[i][0]+"'>"+data[i][1]+"</option>";
}
}
return returnV;
}
public static String getOptions(String[][] data){
return getOptions(data,"");
}
public static String getRadios(String name,String[][] data,String style,String key){
String returnV = "";
if (data != null) {
if (key.length() == 0) {
for (int i = 0; i < data.length; i++) {
if (i == 0)
returnV += "<input type='radio' name='" + name + "' value='" +
data[i][0] + "' " + style + " checked>" + data[i][1] +
" ";
else
returnV += "<input type='radio' name='" + name + "' value='" +
data[i][0] + "' " + style + ">" + data[i][1] +
" ";
}
}
else {
for (int i = 0; i < data.length; i++) {
if (data[i][0].equalsIgnoreCase (key))
returnV += "<input type='radio' name='" + name + "' value='" +
data[i][0] + "' " + style + " checked>" + data[i][1] +
" ";
else
returnV += "<input type='radio' name='" + name + "' value='" +
data[i][0] + "' " + style + ">" + data[i][1] +
" ";
}
}
}
return returnV;
}
public static String getRadios(String name,String[][] data,String style){
return getRadios(name,data,style,"");
}
public static String[][] sort(String[][] data,int sortedColumn,boolean isString){
return sort(data,sortedColumn,true,isString);
}
public static String[][] sort(String[][] data,int sortedColumn,boolean isAsc,boolean isString){
int[] sortedColumn1=new int[1];
sortedColumn1[0]=sortedColumn;
boolean[] isAsc1={isAsc};
boolean[] isString1=new boolean[1];
isString1[0]=isString;
return sort(data,sortedColumn1,isAsc1,isString1);
}
public static String[][] sort(String[][] data,int[] sortedColumn,boolean[] isAsc,boolean[] isString){
if(data==null)
return null;
if(data.length==0)
return data;
boolean isChange=true;
for(int i=data.length-1;i>0&&isChange;i--){
isChange=false;
for(int j=0;j<i;j++){
for(int m=0;m<sortedColumn.length;m++){
String result=compare(j,data,sortedColumn[m],isAsc[m],isString[m]);
if(!result.equals("equals")){
if(result.equals("changed"))
isChange=true;
break;
}
}
}
}
return data;
}
private static String compare(int j,String[][] data,int sortedColumn,boolean isAsc,boolean isString){
String result;//changed,not_changed,equals
String tmp=null;
if(isAsc){
if((isString&&(data[j][sortedColumn].compareTo(data[j+1][sortedColumn]))>0)||
(!isString&&(Double.parseDouble(data[j][sortedColumn]==null?"0":data[j][sortedColumn])>
Double.parseDouble(data[j+1][sortedColumn]==null?"0":data[j+1][sortedColumn])))){
for(int l=0;l<data[0].length;l++){
tmp=data[j+1][l];
data[j+1][l]=data[j][l];
data[j][l]=tmp;
}
result="changed";
}else if((isString&&(data[j][sortedColumn].compareTo(data[j+1][sortedColumn]))==0)||
(!isString&&(Double.parseDouble(data[j][sortedColumn]==null?"0":data[j][sortedColumn])==
Double.parseDouble(data[j+1][sortedColumn]==null?"0":data[j+1][sortedColumn])))){
result="equals";
}else{
result="not_changed";
}
}else{
if((isString&&(data[j][sortedColumn].compareTo(data[j+1][sortedColumn]))<0)||
(!isString&&(Double.parseDouble(data[j][sortedColumn]==null?"0":data[j][sortedColumn])<
Double.parseDouble(data[j+1][sortedColumn]==null?"0":data[j+1][sortedColumn])))){
for(int l=0;l<data[0].length;l++){
tmp=data[j+1][l];
data[j+1][l]=data[j][l];
data[j][l]=tmp;
}
result="changed";
}else if((isString&&(data[j][sortedColumn].compareTo(data[j+1][sortedColumn]))==0)||
(!isString&&(Double.parseDouble(data[j][sortedColumn]==null?"0":data[j][sortedColumn])==
Double.parseDouble(data[j+1][sortedColumn]==null?"0":data[j+1][sortedColumn])))){
result="equals";
}else{
result="not_changed";
}
}
return result;
}
public static void include(PrintWriter out,String file) throws IOException{
include(out,file,false);
}
//在SERVLET中输出文件(类似JSP中INCLUDE标签)
public static void include(PrintWriter out,String file,boolean chinese) throws IOException{
RandomAccessFile raf=new RandomAccessFile(file,"r");
String tmp;
while((tmp=raf.readLine())!=null){
if(chinese)
out.println(switchChinese(tmp));
else
out.println(tmp);
}
}
/**
* 读文本文件
* */
public static String readFile(String fileName,boolean isAbsolutePath) throws IOException{
if(!isAbsolutePath){
String path=System.getProperty("realPath");
if (!path.endsWith(System.getProperty("file.separator")))
path += System.getProperty("file.separator");
fileName=path+fileName;
}
// if(!new File(fileName).exists()){
// return null;
// }
int length=(int)(new File(fileName)).length();
byte[] buffer=new byte[length];
FileInputStream fin=new FileInputStream(fileName);
fin.read(buffer);
fin.close() ;
return new String(buffer,"GBK");
}
public static synchronized double getRound(int scale,double dSource){
BigDecimal deSource = new BigDecimal(dSource);
return deSource.setScale(scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
/**
* 将单个 ' 转义为 ''
* @param sqlsyn
* @return
*/
public static String transferredMeaning(String sqlsyn){
StringBuilder sb = new StringBuilder();
for(int j=0;j<sqlsyn.length() ;j++ ){
char _tmp = sqlsyn.charAt(j) ;
sb.append(_tmp) ;
if(_tmp=='\'')
sb.append(_tmp) ;
}
return sb.toString();
}
public static void main(String[] arg) throws Exception{
StringManager sm =new StringManager();
System.out.println(sm.Mformat("000111111111.1111"));
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -