java常用函数2

上传人:xins****2008 文档编号:47347590 上传时间:2021-12-20 格式:DOCX 页数:76 大小:46.62KB
收藏 版权申诉 举报 下载
java常用函数2_第1页
第1页 / 共76页
java常用函数2_第2页
第2页 / 共76页
java常用函数2_第3页
第3页 / 共76页
资源描述:

《java常用函数2》由会员分享,可在线阅读,更多相关《java常用函数2(76页珍藏版)》请在装配图网上搜索。

1、/*将某个日期以固定格式转化成字符串*paramdate*returnString*/publicstaticStringdateToStr(java.util.Datedate)SimpleDateFormatsdf=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss);Stringstr=sdf.format(date);returnstr;/*判断任意一个整数是否素数*paramn*returnboolean*/publicstaticbooleanisPrimes(intn)for(inti=2;i=Math.sqrt(n);i+)if(n%i=0)retur

2、nfalse;returntrue;/*获得任意一个整数的阶乘,递归*paramn*returnn!*/publicstaticintfactorial(intn)if(n=1)return1;returnn*factorial(n-1);/*将指定byte数组以16进制的形式打印到控制台*paramhint*String*paramb*byte*returnvoid*/publicstaticvoidprintHexString(Stringhint,byteb)System.out.print(hint);for(inti=0;ib.length;i+)Stringhex=Integer.

3、toHexString(bi&0xFF);if(hex.length()=1)hex=0+hex;System.out.print(hex.toUpperCase()+);System.out.println();wait();/线程等待notify();/激活一个线程/*Db.javaCreatedon2007年8月20日,上午8:37*/importjava.io.*;importjava.sql.*;importjava.util.Properties;publicclassDbprivateStringdriver;privateStringurl;privateStringuser;

4、privateStringpassword;privateConnectionconn;privateStatementstm;privateResultSetrs;publicDb()this(DBConf.properties);publicDb(Stringconf)loadProperties(conf);setConn();publicConnectiongetConn()returnthis.conn;/handlethepropertiesfiletogettheinformationsforconnectionprivatevoidloadProperties(Stringco

5、nf)Propertiesprops=newProperties();tryprops.load(newFileInputStream(conf);catch(FileNotFoundExceptione)e.printStackTrace();catch(IOExceptione)e.printStackTrace();this.driver=props.getProperty(driver);this.url=props.getProperty(url);this.user=props.getProperty(user);this.password=props.getProperty(pa

6、ssword);/implementtheConnectionprivatevoidsetConn()tryClass.forName(driver);this.conn=DriverManager.getConnection(url,user,password);catch(ClassNotFoundExceptionclassnotfoundexception)classnotfoundexception.printStackTrace();System.err.println(db:+classnotfoundexception.getMessage();catch(SQLExcepti

7、onsqlexception)System.err.println(db.getconn():+sqlexception.getMessage();publicvoiddoInsert(Stringsql)tryStatementstatement=conn.createStatement();inti=stm.executeUpdate(sql);catch(SQLExceptionsqlexception)System.err.println(db.executeInset:+sqlexception.getMessage();publicvoiddoDelete(Stringsql)tr

8、ystm=conn.createStatement();inti=stm.executeUpdate(sql);catch(SQLExceptionsqlexception)System.err.println(db.executeDelete:+sqlexception.getMessage();publicvoiddoUpdate(Stringsql)trystm=conn.createStatement();inti=stm.executeUpdate(sql);catch(SQLExceptionsqlexception)System.err.println(db.executeUpd

9、ate:+sqlexception.getMessage();publicResultSetdoSelect(Stringsql)trystm=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);rs=stm.executeQuery(sql);catch(SQLExceptionsqlexception)System.err.println(db.executeQuery:+sqlexception.getMessage();returnrs;

10、publicstaticvoidmain(Stringargs)tryDbdb=newDb();Connectionconn=db.getConn();if(conn!=null&!conn.isClosed()System.out.println(連結成功);ResultSetrs=db.doSelect(select*fromcontent);while(rs.next()System.out.println(rs.getString(1)+:+rs.getString(2)+:+rs.getString(3);rs.close();conn.close();catch(SQLExcept

11、ione)e.printStackTrace();DBConf.properties:driver=oracle.jdbc.driver.OracleDriverurl=jdbc:oracle:thin:tdt151:1521:trainuser=XXpassword=XX/*人民币转成大写*paramvalue*returnString*/publicstaticStringhangeToBig(doublevalue)charhunit=拾,佰,仟;/段内位置表示charvunit=万,亿;/段名表示chardigit=零,壹,贰,叁,肆,伍,陆,柒,捌,玖;/数字表示longmidVal

12、=(long)(value*100);/转化成整形StringvalStr=String.valueOf(midVal);/转化成字符串Stringhead=valStr.substring(0,valStr.length()-2);/取整数部分Stringrail=valStr.substring(valStr.length()-2);/取小数部分Stringprefix=;/整数部分转化的结果Stringsuffix=;/小数部分转化的结果/处理小数点后面的数if(rail.equals(00)/如果小数部分为0suffix=整;elsesuffix=digitrail.charAt(0)

13、-0+角+digitrail.charAt(1)-0+分;/否则把角分转化出来/处理小数点前面的数charchDig=head.toCharArray();/把整数部分转化成字符数组charzero=0;/标志0表示出现过0bytezeroSerNum=0;/连续出现0的次数for(inti=0;i0&zeroSerNum0)prefix+=hunitidx-1;if(idx=0&vidx0)prefix+=vunitvidx-1;/段结束位置应该加上段名如万,亿if(prefix.length()0)prefix+=圆;/如果整数部分存在,则有圆的字样returnprefix+suffix;

14、/返回正确表示publicstaticStringgetURLByDBInfo(DBInfodbInfo)Stringurl=;if(dbInfo.getDbType()!=null)if(dbInfo.getDbType().equals(SQLSERVER)url=(newStringBuilder(jdbc:microsoft:sqlserver:/).append(dbInfo.getDbHost().append(:).append(dbInfo.getDbPort().append(;DatabaseName=).append(dbInfo.getDbSID().toString(

15、);elseif(dbInfo.getDbType().equals(ORACLE)url=(newStringBuilder(jdbc:oracle:thin:).append(dbInfo.getDbHost().append(:).append(dbInfo.getDbPort().append(:).append(dbInfo.getDbSID().toString();elseif(dbInfo.getDbType().equals(ORACLE_DSP)url=(newStringBuilder(jdbc:dsp).append(dbInfo.getDbHost().append(

16、:).append(dbInfo.getDbPort().append(/).append(dbInfo.getDbSID().append(/).append(dbInfo.getNamespace().toString();elseif(dbInfo.getDbType().equals(SYBASE)url=jdbc:sybase:Tds:;elseurl=sun.jdbc.odbc.JdbcOdbcDriver;returnurl;/*全角字符转半角字符*paramQJStr*returnString*/publicstaticfinalStringQJToBJChange(Strin

17、gQJStr)charchr=QJStr.toCharArray();Stringstr=;for(inti=0;ichr.length;i+)chri=(char)(int)chri-65248);str+=chri;returnstr;/*去掉字符串中重复的子字符串*paramstr*returnString*/privatestaticStringremoveSameString(Stringstr)SetmLinkedSet=newLinkedHashSet();StringstrArray=str.split();StringBuffersb=newStringBuffer();fo

18、r(inti=0;istrArray.length;i+)if(!mLinkedSet.contains(strArrayi)mLinkedSet.add(strArrayi);sb.append(strArrayi+);System.out.println(mLinkedSet);returnsb.toString().substring(0,sb.toString().length()-1);/*设置JSpinner的编辑属性*paramspinner目标JSpinner*paramisAllowInvalid是否允许输入非法值*paramisEditable是否允许编辑*/publics

19、taticvoidsetAllowsInvalid(JSpinnerspinner,booleanisAllowInvalid,booleanisEditable)JSpinner.NumberEditoreditor=newJSpinner.NumberEditor(spinner,#);spinner.setEditor(editor);JFormattedTextFieldtf=(JSpinner.NumberEditor)spinner.getEditor().getTextField();tf.setEditable(isEditable);DefaultFormatterFacto

20、ryfactory=(DefaultFormatterFactory)tf.getFormatterFactory();NumberFormatterformatter=(NumberFormatter)factory.getDefaultFormatter();formatter.setAllowsInvalid(isAllowInvalid);/*根据指定方法的参数去构造一个新的对象的拷贝并将他返回*paramobj原始对象*return新对象*throwsNoSuchMethodException*throwsInvocationTargetException*throwsIllegal

21、AccessException*throwsInstantiationException*throwsSecurityException*throwsIllegalArgumentException*/SuppressWarnings(unchecked)publicstaticObjectcopy(Objectobj)throwsIllegalArgumentException,SecurityException,InstantiationException,IllegalAccessException,InvocationTargetException,NoSuchMethodExcept

22、ion/获得对象的类型ClassclassType=obj.getClass();/通过默认构造方法去创建一个新的对象,getConstructor的视其参数决定调用哪个构造方法ObjectobjectCopy=classType.getConstructor(newClass).newInstance(newObject);/获得对象的所有属性Fieldfields=classType.getDeclaredFields();for(inti=0;ifields.length;i+)/获取数组中对应的属性Fieldfield=fieldsi;StringfieldName=field.get

23、Name();StringstringLetter=fieldName.substring(0,1).toUpperCase();/获得相应属性的getXXX和setXXX方法名称StringgetName=get+stringLetter+fieldName.substring(1);StringsetName=set+stringLetter+fieldName.substring(1);/获取相应的方法MethodgetMethod=classType.getMethod(getName,newClass);MethodsetMethod=classType.getMethod(setN

24、ame,newClassfield.getType();/调用源对象的getXXX()方法Objectvalue=getMethod.invoke(obj,newObject);/调用拷贝对象的setXXX()方法setMethod.invoke(objectCopy,newObjectvalue);returnobjectCopy;/过滤特殊字符publicstaticStringencoding(Stringsrc)if(src=null)return;StringBuilderresult=newStringBuilder();if(src!=null)src=src.trim();fo

25、r(intpos=0;possrc.length();pos+)switch(src.charAt(pos)case:result.append(");break;case:result.append(>);break;case:result.append(');break;case&:result.append(&);break;case%:result.append(&pc;);break;case_:result.append(&ul;);break;case#:result.append(&shap;);break;case?:result.appen

26、d(&ques;);break;default:result.append(src.charAt(pos);break;returnresult.toString();/反过滤特殊字符publicstaticStringdecoding(Stringsrc)if(src=null)return;Stringresult=src;result=result.replace(",).replace(',);result=result.replace(<,);result=result.replace(&,&);result=result.replace(&pc;,

27、%).replace(&ul,_);result=result.replace(&shap;,#).replace(&ques,?);returnresult;/利用反射调用一个继承层次上的函数族,比如安装程序,有安装数据库的,安装文件系统的等,命名均已“install”开始,你就可以将参数part设为“install”,src是其实类实例,root是终止父类publicstaticvoidinvokeMethods(Stringpart,Tsrc,Classroot)throwsExceptionManagerif(root!=null)if(!root.isInstance(src)ret

28、urn;root=(Class)root.getGenericSuperclass();HashMapinvokees=newHashMap();Classtarget=src.getClass();doMethodmethods=target.getDeclaredMethods();for(Methodmethod:methods)Stringmn=method.getName();BooleanisPass=mn.startsWith(part);if(isPass)Integernopt=method.getParameterTypes().length;BooleanisStatic

29、=Modifier.isStatic(method.getModifiers();if(nopt=0)&(!isStatic)if(!invokees.containsKey(mn)invokees.put(mn,method);target=(Class)target.getGenericSuperclass();while(target!=root);Iteratormethods=invokees.keySet().iterator();while(methods.hasNext()Methodinvokee=invokees.get(methods.next();Booleanacce

30、ss=invokee.isAccessible();invokee.setAccessible(true);tryinvokee.invoke(src);catch(InvocationTargetExceptione)throwExceptionManager.wrap(e.getTargetException();catch(Exceptione)invokee.setAccessible(access);MySQL:StringDriver=com.mysql.jdbc.Driver;/驱动程序StringURL=jdbc:mysql:/localhost:3306/db_name;/连

31、接的URL,db_name为数据库名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();Connectioncon=DriverManager.getConnection(URL,Username,Password);MicrosoftSQLServer2.0驱动(3个jar的那个):StringDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver;/连接SQL数据库的方法StringURL=jdbc:microso

32、ft:sqlserver:/localhost:1433;DatabaseName=db_name;/db_name为数据库名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();/加载数据可驱动Connectioncon=DriverManager.getConnection(URL,UserName,Password);/MicrosoftSQLServer3.0驱动(1个jar的那个):/老紫竹完善StringDriver=com.microsoft.sqlse

33、rver.jdbc.SQLServerDriver;/连接SQL数据库的方法StringURL=jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=db_name;/db_name为数据库名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();/加载数据可驱动Connectioncon=DriverManager.getConnection(URL,UserName,Password);/Sysbase:Stri

34、ngDriver=com.sybase.jdbc.SybDriver;/驱动程序StringURL=jdbc:Sysbase:/localhost:5007/db_name;/db_name为数据可名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();Connectioncon=DriverManager.getConnection(URL,Username,Password);Oracle(用thin模式):StringDriver=oracle.jdbc.dri

35、ver.OracleDriver;/连接数据库的方法StringURL=jdbc:oracle:thin:loaclhost:1521:orcl;/orcl为数据库的SIDStringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();/加载数据库驱动Connectioncon=DriverManager.getConnection(URL,Username,Password);PostgreSQL:StringDriver=org.postgresql.Driver;/连接数

36、据库的方法StringURL=jdbc:postgresql:/localhost/db_name;/db_name为数据可名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();Connectioncon=DriverManager.getConnection(URL,Username,Password);DB2:StringDriver=com.ibm.db2.jdbc.app.DB2.Driver;/连接具有DB2客户端的Provider实例/StringDri

37、ver=.DB2.Driver;/连接不具有DB2客户端的Provider实例StringURL=jdbc:db2:/localhost:5000/db_name;/db_name为数据可名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();Connectioncon=DriverManager.getConnection(URL,Username,Password);Informix:StringDriver=com.informix.jdbc.IfxDriver

38、;StringURL=jdbc:Informix-sqli:/localhost:1533/db_name:INFORMIXSER=myserver;/db_name为数据可名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();Connectioncon=DriverManager.getConnection(URL,Username,Password);JDBC-ODBC:StringDriver=sun.jdbc.odbc.JdbcOdbcDriver;Stri

39、ngURL=jdbc:odbc:dbsource;/dbsource为数据源名StringUsername=username;/用户名StringPassword=password;/密码Class.forName(Driver).newInstance();Connectioncon=DriverManager.getConnection(URL,Username,Password);importjava.text.DecimalFormat;publicclassNumberUtilpublicstaticdoubledecimalFormatD(intnum,doubled)String

40、format=0.;Stringresult=;doubledb;for(inti=0;inum;i+)format=format.concat(0);DecimalFormatdecimal=newDecimalFormat(format);result=decimal.format(d);db=Double.parseDouble(result);returndb;publicstaticfloatdecimalFormatF(intnum,floatf)Stringformat=0.;Stringresult=;floatfl;for(inti=0;inum;i+)format=format.concat(0);DecimalFormatdecimal=newDecimalFormat(format);result=decimal.format(f);fl=Float.parseFloat(result);returnfl;publicstaticStringdoubleToString(doublef)Strings=;doublea=0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!