Java程序片段分享
1. 字符串有整型的相互转换
Stringa = String.valueOf( 2); // integertonumeric stringint i = Integer.parseInt(a); //numericstringtoan int
2. 向文件末尾添加内容
BufferedWriter out= null; try{ out= newBufferedWriter( newFileWriter(”filename”, true));out.write(”aString”); } catch(IOException e) { // error processing code } finally{ if( out!= null) { out.close(); } }
3. 得到当前方法的名字
String methodName = Thread .currentThread() .getStackTrace()[ 1] .getMethodName() ;
4. 转字符串到日期
java .util.Date= java .text.DateFormat.getDateInstance() .parse(date String) ;
或者是:
SimpleDateFormat format = newSimpleDateFormat( “dd.MM.yyyy”); Datedate= format.parse( myString );
5. 使用JDBC链接Oracle
publicclassOracleJdbcTest{String driverClass = “oracle.jdbc.driver.OracleDriver”; Connection con; publicvoidinit(FileInputStream fs) throwsClassNotFoundException, SQLException, FileNotFoundException, IOException { Properties props =newProperties(); props.load(fs); String url = props.getProperty( “db.url”); String userName = props.getProperty( “db.user”); String password = props.getProperty( “db.password”); Class.forName(driverClass); con=DriverManager.getConnection(url, userName, password); } publicvoidfetch() throwsSQLException, IOException { PreparedStatement ps = con.prepareStatement( “select SYSDATE from dual”); ResultSet rs = ps.executeQuery(); while(rs.next()) { // do the thing you do } rs.close(); ps.close(); }publicstaticvoidmain(String[] args) { OracleJdbcTest test = newOracleJdbcTest(); test.init(); test.fetch(); } }
6. 把 Java util.Date 转成 sql.Date
java .util.DateutilDate = new java .util.Date() ; java .sql.DatesqlDate = new java.sql.Date(utilDate .getTime()) ;
7. 使用NIO进行快速的文件拷贝
publicstaticvoidfileCopy( File in, File out) throws IOException { FileChannel inChannel =newFileInputStream( in).getChannel(); FileChannel outChannel = newFileOutputStream(out).getChannel(); try{ // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows // magic number for Windows, 64Mb - 32Kb) intmaxCount = ( 64* 1024* 1024) - ( 32* 1024); longsize = inChannel.size();longposition = 0; while( position 《 size ) { position += inChannel.transferTo( position, maxCount, outChannel ); } } finally{ if( inChannel != null) { inChannel.close(); } if( outChannel != null) { outChannel.close(); } } }
8. 创建图片的缩略图
privatevoidcreateThumbnail(String filename, intthumbWidth, intthumbHeight, intquality, String outFilename) throws InterruptedException, FileNotFoundException, IOException { // load image from filename Image image = Toolkit.getDefaultToolkit().getImage(filename); MediaTracker mediaTracker = newMediaTracker( newContainer()); mediaTracker.addImage(image, 0); mediaTracker.waitForID( 0); // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny()); // determine thumbnail size from WIDTH and HEIGHT doublethumbRatio = ( double)thumbWidth / (double)thumbHeight; intimageWidth = image.getWidth( null); intimageHeight = image.getHeight( null); doubleimageRatio = ( double)imageWidth / ( double)imageHeight;if(thumbRatio 《 imageRatio) { thumbHeight = ( int)(thumbWidth / imageRatio); } else{ thumbWidth = ( int)(thumbHeight * imageRatio); } // draw original image to thumbnail image object and // scale it to the new size on-the-fly BufferedImage thumbImage =newBufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = thumbImage.createGraphics(); graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics2D.drawImage(image, 0,0, thumbWidth, thumbHeight, null); // save thumbnail image to outFilenameBufferedOutputStream out= newBufferedOutputStream(newFileOutputStream(outFilename)); JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder( out); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage); quality = Math.max( 0, Math.min(quality, 100)); param.setQuality(( float)quality / 100.0f, false); encoder.setJPEGEncodeParam(param); encoder.encode(thumbImage); out.close(); }
9. 创建 JSON 格式的数据
请先阅读这篇文章 了解一些细节,
并下面这个JAR 文件:json-rpc-1.0.jar (75 kb)
import org.json.JSONObject; 。。.。。.JSONObject json = new JSONObject(); json.put( “city”,“Mumbai”); json.put( “country”, “India”); 。。.String output = json.toString(); 。。.
10. 使用iText JAR生成PDF
阅读这篇文章 了解更多细节
importjava.io.File; importjava.io.FileOutputStream; importjava.io.OutputStream;importjava.util.Date; importcom.lowagie.text.Document;importcom.lowagie.text.Paragraph; importcom.lowagie.text.pdf.PdfWriter; /** * Java学习交流QQ群:589809992 我们一起学Java! */publicclassGeneratePDF{publicstaticvoidmain(String[] args) { try{ OutputStream file =newFileOutputStream( newFile( “C:\\Test.pdf”)); Document document = newDocument(); PdfWriter.getInstance(document, file); document.open(); document.add( newParagraph(“Hello Kiran”)); document.add( newParagraph( newDate().toString())); document.close(); file.close(); } catch(Exception e) { e.printStackTrace(); } } }
11. HTTP 代理设置
System .getProperties() .put( “http.proxyHost”, “someProxyURL”) ; System.getProperties() .put( “http.proxyPort”, “someProxyPort”) ; System .getProperties() .put(“http.proxyUser”, “someUserName”) ; System .getProperties() .put( “http.proxyPassword”,“somePassword”) ;
12. 单实例Singleton 示例
请先阅读这篇文章 了解更多信息
publicclassSimpleSingleton { privatestaticSimpleSingleton singleInstance =newSimpleSingleton(); //Marking default constructor private //to avoid direct instantiation.privateSimpleSingleton() { } //Get instance for class SimpleSingletonpublicstaticSimpleSingleton getInstance() { returnsingleInstance; } }
另一种实现
publicenumSimpleSingleton { INSTANCE; publicvoiddoSomething() { } } //Call the method from Singleton: SimpleSingleton.INSTANCE.doSomething();
13. 抓屏程序
阅读这篇文章 获得更多信息。
import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; import java.io.File; 。。.public void captureScreen(String fileName) throws Exception { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRectangle = new Rectangle(screenSize); Robot robot = new Robot(); BufferedImage image = robot.createScreenCapture(screenRectangle); ImageIO.write(image, “png”, new File(fileName)); } 。。.
14. 列出文件和目录
File dir = newFile( “directoryName”); String[] children = dir.list(); if(children == null) { // Either dir does not exist or is not a directory } else{ for( inti= 0; i 《 children.length; i++) { // Get filename of file or directory String filename = children[i]; } } // It is also possible to filter the list of returned files. // This example does not return any files that start with `。‘.FilenameFilter filter = newFilenameFilter() { publicbooleanaccept(File dir, String name) {return!name.startsWith( “。”); } }; children = dir.list(filter); // The list of files can also be retrieved as File objects File[] files = dir.listFiles(); // This filter only returns directoriesFileFilter fileFilter = newFileFilter() { publicbooleanaccept(File file) { returnfile.isDirectory(); } }; files = dir.listFiles(fileFilter);
15. 创建ZIP和JAR文件
importjava.util.zip.*; importjava.io.*; /** * Java学习交流QQ群:589809992 我们一起学Java! */publicclassZipIt{publicstaticvoidmain(String args[]) throwsIOException {if(args.length 《 2) { System.err.println( “usage: java ZipIt Zip.zip file1 file2 file3”); System.exit(- 1); } File zipFile = newFile(args[ 0]); if(zipFile.exists()) { System.err.println(“Zip file already exists, please try another”); System.exit(- 2); } FileOutputStream fos =newFileOutputStream(zipFile); ZipOutputStream zos = newZipOutputStream(fos);intbytesRead; byte[] buffer = newbyte[ 1024]; CRC32 crc = newCRC32(); for( inti= 1, n=args.length; i 《 n; i++) { String name = args[i]; File file = newFile(name); if(!file.exists()) { System.err.println( “Skipping: ”+ name); continue; } BufferedInputStream bis =newBufferedInputStream( newFileInputStream(file)); crc.reset(); while((bytesRead = bis.read(buffer)) != - 1) { crc.update(buffer, 0, bytesRead); } bis.close(); // Reset to beginning of input stream bis = newBufferedInputStream( newFileInputStream(file)); ZipEntry entry = newZipEntry(name); entry.setMethod(ZipEntry.STORED); entry.setCompressedSize(file.length()); entry.setSize(file.length()); entry.setCrc(crc.getValue()); zos.putNextEntry(entry); while((bytesRead = bis.read(buffer)) != - 1) { zos.write(buffer, 0, bytesRead); } bis.close(); } zos.close(); } }
16. 解析/读取XML 文件
XML文件
《?xml version=“1.0”?》《students》《student》《name》John 《/name》《grade》B 《/grade》《age》12 《/age》《/student》《student》《name》Mary 《/name》《grade》A 《/grade》《age》11《/age》《/student》《student》《name》Simon 《/name》《grade》A 《/grade》《age》18 《/age》《/student》《/students》
Java代码
package net .viralpatel.java.xmlparser; import java .io.File; import javax.xml.parsers.DocumentBuilder; import javax .xml.parsers.DocumentBuilderFactory; import org .w3c .dom.Document; import org .w3c .dom.Element; import org .w3c .dom.Node;import org .w3c .dom.NodeList; public class XMLParser { public void getAllUserNames(String fileName) { try { DocumentBuilderFactory dbf = DocumentBuilderFactory .newInstance() ; DocumentBuilder db = dbf.newDocumentBuilder() ; File file = new File(fileName) ; if (file .exists()) { Document doc = db .parse(file) ; Element docEle = doc .getDocumentElement() ; // Print root element of the document System .out.println( “Root element of the document: ”+ docEle.getNodeName()) ; NodeList studentList = docEle .getElementsByTagName( “student”) ; // Print total student elements indocument System .out.println( “Total students: ”+ studentList.getLength()) ; if (studentList != null && studentList .getLength() 》 0) { for (int i = 0; i 《 studentList.getLength(); i++) { Node node = studentList .item(i) ; if (node .getNodeType() == Node .ELEMENT_NODE) { System .out.println( “=====================”) ;Element e = (Element) node ; NodeList nodeList = e .getElementsByTagName( “name”) ;System .out.println( “Name: ”+ nodeList .item( 0) .getChildNodes() .item( 0).getNodeValue()) ; nodeList = e .getElementsByTagName( “grade”) ; System .out.println(“Grade: ”+ nodeList .item( 0) .getChildNodes() .item( 0) .getNodeValue()) ; nodeList = e.getElementsByTagName( “age”) ; System .out.println( “Age: ”+ nodeList .item( 0).getChildNodes() .item( 0) .getNodeValue()) ; } } } else { System .exit( 1) ; } } } catch (Exception e) { System .out.println(e) ; } } public static void main(String[] args) { XMLParser parser = new XMLParser() ; parser .getAllUserNames( “c:\\test.xml”) ; } }
17. 把 Array 转换成 Map
import java.util.Map; import org.apache.commons.lang.ArrayUtils; publicclassMain {publicstaticvoidmain(String[] args) { String[][] countries = { { “United States”, “New York”}, {“United Kingdom”, “London”}, { “Netherland”, “Amsterdam”}, { “Japan”, “Tokyo”}, {“France”, “Paris”} }; Map countryCapitals = ArrayUtils.toMap(countries); System.out.println( “Capital of Japan is ”+ countryCapitals. get( “Japan”)); System. out.println(“Capital of France is ”+ countryCapitals. get( “France”)); } }
18. 发送邮件
importjavax.mail.*; importjavax.mail.internet.*; importjava.util.*; publicvoidpostMail( String recipients[ ], String subject, String message , String from) throwsMessagingException {booleandebug = false; //Set the host smtp address Properties props = newProperties(); props.put( “mail.smtp.host”, “smtp.example.com”); // create some properties and get the default Session Session session = Session.getDefaultInstance(props, null); session.setDebug(debug); // create a message Message msg =newMimeMessage(session); // set the from and to address InternetAddress addressFrom = newInternetAddress(from); msg.setFrom(addressFrom); InternetAddress[] addressTo =newInternetAddress[recipients.length]; for( inti = 0; i 《 recipients.length; i++) { addressTo[i] = newInternetAddress(recipients[i]); } msg.setRecipients(Message.RecipientType.TO, addressTo); // Optional : You can also set your custom headers in the Email if you Wantmsg.addHeader( “MyHeaderName”, “myHeaderValue”); // Setting the Subject and Content Type msg.setSubject(subject); msg.setContent(message, “text/plain”); Transport.send(msg); }
19. 发送代数据的HTTP 请求
importjava.io.BufferedReader; importjava.io.InputStreamReader; importjava.net.URL;publicclassMain{publicstaticvoidmain(String[] args) { try{ URL my_url = newURL(“http://coolshell.cn/”); BufferedReader br = newBufferedReader(newInputStreamReader(my_url.openStream())); String strTemp = “”; while( null!= (strTemp = br.readLine())){ System.out.println(strTemp); } } catch(Exception ex) { ex.printStackTrace(); } } }
20. 改变数组的大小
/** * Reallocates an array with a new size, and copies the contents * of the old array to the new array. *@paramoldArray the old array, to be reallocated. *@paramnewSize the new array size. *@returnA new array with the same contents. */privatestaticObjectresizeArray(Object oldArray, intnewSize) { intoldSize = java.lang.reflect.Array.getLength(oldArray); Class elementType = oldArray.getClass().getComponentType(); Object newArray = java.lang.reflect.Array.newInstance( elementType,newSize); intpreserveLength = Math.min(oldSize,newSize); if(preserveLength 》 0) System.arraycopy (oldArray,0,newArray, 0,preserveLength); returnnewArray; } // Test routine for resizeArray().publicstaticvoidmain(String[] args) { int[] a = { 1, 2, 3}; a = ( int[])resizeArray(a, 5); a[ 3] = 4; a[ 4] = 5; for( inti= 0; i《a.length; i++) System.out.println (a[i]); } 返回搜狐,查看更多
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%