- 浏览: 36140 次
- 性别:
- 来自: 成都
文章分类
最新评论
20个非常有用的Java程序片段
1. 字符串有整型的相互转换
2. 向文件末尾添加内容
3. 得到当前方法的名字
4. 转字符串到日期
或者是:
5. 使用JDBC链接Oracle
6. 把 Java util.Date 转成 sql.Date
7. 使用NIO进行快速的文件拷贝
8. 创建图片的缩略图
9. 创建 JSON 格式的数据
10. 使用iText JAR生成PDF
11. HTTP 代理设置
12. 单实例Singleton 示例
另一种实现:
13. 抓屏程序
14. 列出文件和目录
15. 创建ZIP和JAR文件
16. 解析/读取XML 文件
XML文件
17. 把 Array 转换成 Map
18. 发送邮件
19. 发送代数据的HTTP 请求
20. 改变数组的大小
Java代码
- Stringa=String.valueOf(2);//integertonumericstring
- inti=Integer.parseInt(a);//numericstringtoanint
2. 向文件末尾添加内容
Java代码
- BufferedWriterout=null;
- try{
- out=newBufferedWriter(newFileWriter(”filename”,true));
- out.write(”aString”);
- }catch(IOExceptione){
- //errorprocessingcode
- }finally{
- if(out!=null){
- out.close();
- }
- }
3. 得到当前方法的名字
Java代码
- StringmethodName=Thread.currentThread().getStackTrace()[1].getMethodName();
4. 转字符串到日期
Java代码
- java.util.Date=java.text.DateFormat.getDateInstance().parse(dateString);
或者是:
Java代码
- SimpleDateFormatformat=newSimpleDateFormat("dd.MM.yyyy");
- Datedate=format.parse(myString);
5. 使用JDBC链接Oracle
Java代码
- publicclassOracleJdbcTest
- {
- StringdriverClass="oracle.jdbc.driver.OracleDriver";
- Connectioncon;
- publicvoidinit(FileInputStreamfs)throwsClassNotFoundException,SQLException,FileNotFoundException,IOException
- {
- Propertiesprops=newProperties();
- props.load(fs);
- Stringurl=props.getProperty("db.url");
- StringuserName=props.getProperty("db.user");
- Stringpassword=props.getProperty("db.password");
- Class.forName(driverClass);
- con=DriverManager.getConnection(url,userName,password);
- }
- publicvoidfetch()throwsSQLException,IOException
- {
- PreparedStatementps=con.prepareStatement("selectSYSDATEfromdual");
- ResultSetrs=ps.executeQuery();
- while(rs.next())
- {
- //dothethingyoudo
- }
- rs.close();
- ps.close();
- }
- publicstaticvoidmain(String[]args)
- {
- OracleJdbcTesttest=newOracleJdbcTest();
- test.init();
- test.fetch();
- }
- }
6. 把 Java util.Date 转成 sql.Date
Java代码
- java.util.DateutilDate=newjava.util.Date();
- java.sql.DatesqlDate=newjava.sql.Date(utilDate.getTime());
7. 使用NIO进行快速的文件拷贝
Java代码
- publicstaticvoidfileCopy(Filein,Fileout)
- throwsIOException
- {
- FileChannelinChannel=newFileInputStream(in).getChannel();
- FileChanneloutChannel=newFileOutputStream(out).getChannel();
- try
- {
- //inChannel.transferTo(0,inChannel.size(),outChannel);//original--apparentlyhastroublecopyinglargefilesonWindows
- //magicnumberforWindows,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. 创建图片的缩略图
Java代码
- privatevoidcreateThumbnail(Stringfilename,intthumbWidth,intthumbHeight,intquality,StringoutFilename)
- throwsInterruptedException,FileNotFoundException,IOException
- {
- //loadimagefromfilename
- Imageimage=Toolkit.getDefaultToolkit().getImage(filename);
- MediaTrackermediaTracker=newMediaTracker(newContainer());
- mediaTracker.addImage(image,0);
- mediaTracker.waitForID(0);
- //usethistotestforerrorsatthispoint:System.out.println(mediaTracker.isErrorAny());
- //determinethumbnailsizefromWIDTHandHEIGHT
- 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);
- }
- //draworiginalimagetothumbnailimageobjectand
- //scaleittothenewsizeon-the-fly
- BufferedImagethumbImage=newBufferedImage(thumbWidth,thumbHeight,BufferedImage.TYPE_INT_RGB);
- Graphics2Dgraphics2D=thumbImage.createGraphics();
- graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,RenderingHints.VALUE_INTERPOLATION_BILINEAR);
- graphics2D.drawImage(image,0,0,thumbWidth,thumbHeight,null);
- //savethumbnailimagetooutFilename
- BufferedOutputStreamout=newBufferedOutputStream(newFileOutputStream(outFilename));
- JPEGImageEncoderencoder=JPEGCodec.createJPEGEncoder(out);
- JPEGEncodeParamparam=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 格式的数据
Java代码
- importorg.json.JSONObject;
- ...
- ...
- JSONObjectjson=newJSONObject();
- json.put("city","Mumbai");
- json.put("country","India");
- ...
- Stringoutput=json.toString();
- ...
10. 使用iText JAR生成PDF
Java代码
- 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;
- publicclassGeneratePDF{
- publicstaticvoidmain(String[]args){
- try{
- OutputStreamfile=newFileOutputStream(newFile("C:\\Test.pdf"));
- Documentdocument=newDocument();
- PdfWriter.getInstance(document,file);
- document.open();
- document.add(newParagraph("HelloKiran"));
- document.add(newParagraph(newDate().toString()));
- document.close();
- file.close();
- }catch(Exceptione){
- e.printStackTrace();
- }
- }
- }
11. HTTP 代理设置
Java代码
- 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 示例
Java代码
- publicclassSimpleSingleton{
- privatestaticSimpleSingletonsingleInstance=newSimpleSingleton();
- //Markingdefaultconstructorprivate
- //toavoiddirectinstantiation.
- privateSimpleSingleton(){
- }
- //GetinstanceforclassSimpleSingleton
- publicstaticSimpleSingletongetInstance(){
- returnsingleInstance;
- }
- }
另一种实现:
Java代码
- publicenumSimpleSingleton{
- INSTANCE;
- publicvoiddoSomething(){
- }
- }
- //CallthemethodfromSingleton:
- SimpleSingleton.INSTANCE.doSomething();
13. 抓屏程序
Java代码
- importjava.awt.Dimension;
- importjava.awt.Rectangle;
- importjava.awt.Robot;
- importjava.awt.Toolkit;
- importjava.awt.image.BufferedImage;
- importjavax.imageio.ImageIO;
- importjava.io.File;
- ...
- publicvoidcaptureScreen(StringfileName)throwsException{
- DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
- RectanglescreenRectangle=newRectangle(screenSize);
- Robotrobot=newRobot();
- BufferedImageimage=robot.createScreenCapture(screenRectangle);
- ImageIO.write(image,"png",newFile(fileName));
- }
- ...
14. 列出文件和目录
Java代码
- Filedir=newFile("directoryName");
- String[]children=dir.list();
- if(children==null){
- //Eitherdirdoesnotexistorisnotadirectory
- }else{
- for(inti=0;i<children.length;i++){
- //Getfilenameoffileordirectory
- Stringfilename=children[i];
- }
- }
- //Itisalsopossibletofilterthelistofreturnedfiles.
- //Thisexampledoesnotreturnanyfilesthatstartwith`.'.
- FilenameFilterfilter=newFilenameFilter(){
- publicbooleanaccept(Filedir,Stringname){
- return!name.startsWith(".");
- }
- };
- children=dir.list(filter);
- //ThelistoffilescanalsoberetrievedasFileobjects
- File[]files=dir.listFiles();
- //Thisfilteronlyreturnsdirectories
- FileFilterfileFilter=newFileFilter(){
- publicbooleanaccept(Filefile){
- returnfile.isDirectory();
- }
- };
- files=dir.listFiles(fileFilter);
15. 创建ZIP和JAR文件
Java代码
- importjava.util.zip.*;
- importjava.io.*;
- publicclassZipIt{
- publicstaticvoidmain(Stringargs[])throwsIOException{
- if(args.length<2){
- System.err.println("usage:javaZipItZip.zipfile1file2file3");
- System.exit(-1);
- }
- FilezipFile=newFile(args[0]);
- if(zipFile.exists()){
- System.err.println("Zipfilealreadyexists,pleasetryanother");
- System.exit(-2);
- }
- FileOutputStreamfos=newFileOutputStream(zipFile);
- ZipOutputStreamzos=newZipOutputStream(fos);
- intbytesRead;
- byte[]buffer=newbyte[1024];
- CRC32crc=newCRC32();
- for(inti=1,n=args.length;i<n;i++){
- Stringname=args[i];
- Filefile=newFile(name);
- if(!file.exists()){
- System.err.println("Skipping:"+name);
- continue;
- }
- BufferedInputStreambis=newBufferedInputStream(
- newFileInputStream(file));
- crc.reset();
- while((bytesRead=bis.read(buffer))!=-1){
- crc.update(buffer,0,bytesRead);
- }
- bis.close();
- //Resettobeginningofinputstream
- bis=newBufferedInputStream(
- newFileInputStream(file));
- ZipEntryentry=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代码
- <?xmlversion="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代码
- packagenet.viralpatel.java.xmlparser;
- importjava.io.File;
- importjavax.xml.parsers.DocumentBuilder;
- importjavax.xml.parsers.DocumentBuilderFactory;
- importorg.w3c.dom.Document;
- importorg.w3c.dom.Element;
- importorg.w3c.dom.Node;
- importorg.w3c.dom.NodeList;
- publicclassXMLParser{
- publicvoidgetAllUserNames(StringfileName){
- try{
- DocumentBuilderFactorydbf=DocumentBuilderFactory.newInstance();
- DocumentBuilderdb=dbf.newDocumentBuilder();
- Filefile=newFile(fileName);
- if(file.exists()){
- Documentdoc=db.parse(file);
- ElementdocEle=doc.getDocumentElement();
- //Printrootelementofthedocument
- System.out.println("Rootelementofthedocument:"
- +docEle.getNodeName());
- NodeListstudentList=docEle.getElementsByTagName("student");
- //Printtotalstudentelementsindocument
- System.out
- .println("Totalstudents:"+studentList.getLength());
- if(studentList!=null&&studentList.getLength()>0){
- for(inti=0;i<studentList.getLength();i++){
- Nodenode=studentList.item(i);
- if(node.getNodeType()==Node.ELEMENT_NODE){
- System.out
- .println("=====================");
- Elemente=(Element)node;
- NodeListnodeList=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(Exceptione){
- System.out.println(e);
- }
- }
- publicstaticvoidmain(String[]args){
- XMLParserparser=newXMLParser();
- parser.getAllUserNames("c:\\test.xml");
- }
- }
17. 把 Array 转换成 Map
Java代码
- importjava.util.Map;
- importorg.apache.commons.lang.ArrayUtils;
- publicclassMain{
- publicstaticvoidmain(String[]args){
- String[][]countries={{"UnitedStates","NewYork"},{"UnitedKingdom","London"},
- {"Netherland","Amsterdam"},{"Japan","Tokyo"},{"France","Paris"}};
- MapcountryCapitals=ArrayUtils.toMap(countries);
- System.out.println("CapitalofJapanis"+countryCapitals.get("Japan"));
- System.out.println("CapitalofFranceis"+countryCapitals.get("France"));
- }
- }
18. 发送邮件
Java代码
- importjavax.mail.*;
- importjavax.mail.internet.*;
- importjava.util.*;
- publicvoidpostMail(Stringrecipients[],Stringsubject,Stringmessage,Stringfrom)throwsMessagingException
- {
- booleandebug=false;
- //Setthehostsmtpaddress
- Propertiesprops=newProperties();
- props.put("mail.smtp.host","smtp.example.com");
- //createsomepropertiesandgetthedefaultSession
- Sessionsession=Session.getDefaultInstance(props,null);
- session.setDebug(debug);
- //createamessage
- Messagemsg=newMimeMessage(session);
- //setthefromandtoaddress
- InternetAddressaddressFrom=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:YoucanalsosetyourcustomheadersintheEmailifyouWant
- msg.addHeader("MyHeaderName","myHeaderValue");
- //SettingtheSubjectandContentType
- msg.setSubject(subject);
- msg.setContent(message,"text/plain");
- Transport.send(msg);
- }
19. 发送代数据的HTTP 请求
Java代码
- importjava.io.BufferedReader;
- importjava.io.InputStreamReader;
- importjava.net.URL;
- publicclassMain{
- publicstaticvoidmain(String[]args){
- try{
- URLmy_url=newURL("http://coolshell.cn/");
- BufferedReaderbr=newBufferedReader(newInputStreamReader(my_url.openStream()));
- StringstrTemp="";
- while(null!=(strTemp=br.readLine())){
- System.out.println(strTemp);
- }
- }catch(Exceptionex){
- ex.printStackTrace();
- }
- }
- }
20. 改变数组的大小
Java代码
- /**
- *Reallocatesanarraywithanewsize,andcopiesthecontents
- *oftheoldarraytothenewarray.
- *@paramoldArraytheoldarray,tobereallocated.
- *@paramnewSizethenewarraysize.
- *@returnAnewarraywiththesamecontents.
- */
- privatestaticObjectresizeArray(ObjectoldArray,intnewSize){
- intoldSize=java.lang.reflect.Array.getLength(oldArray);
- ClasselementType=oldArray.getClass().getComponentType();
- ObjectnewArray=java.lang.reflect.Array.newInstance(
- elementType,newSize);
- intpreserveLength=Math.min(oldSize,newSize);
- if(preserveLength>0)
- System.arraycopy(oldArray,0,newArray,0,preserveLength);
- returnnewArray;
- }
- //TestroutineforresizeArray().
- 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]);
- }
相关推荐
下面我们将深入探讨这些Java程序片段中的关键知识点。 1. **字符串与整型的相互转换**: - `String.valueOf(int)` 方法将整型值转换为对应的字符串表示。 - `Integer.parseInt(String)` 方法用于将符合格式的字符...
### JAVA 学习必备10个有用的程序片段详解 #### 1. 字符串与整型的相互转换 在 Java 中,我们经常会遇到需要将数字转换为字符串或反之的情况。以下是一个简单的示例: - **从整型转换为字符串**: ```java int ...
以下是一些常见的Java程序片段,涵盖了字符串处理、文件操作、日志记录、日期转换、数据库连接等多个方面。 1. **字符串与整型的相互转换** - `String.valueOf(int)` 方法用于将整型值转换为字符串。 - `Integer....
"绝对使用的JAVA程序片段"这个标题暗示了我们即将探讨的是Java编程中的一些核心技巧和最佳实践,这些片段是程序员在日常开发过程中经常遇到并需要掌握的关键点。"JAVA 代码 经典 经验"的标签进一步强调了这些代码...
### Java程序设计知识点总结 #### 1. 参数传递机制(传值引用) **知识点概述**: 在Java中,参数传递采用“传值”的方式。对于基本数据类型(如`int`, `double`等),传递的是变量的值;而对于引用类型(如数组、...
【JAVA课程设计小程序】 在Java编程中,课程设计通常涉及实际应用编程技能,例如输入输出处理、数据验证、日期操作以及字符串处理等。以下四个代码片段分别展示了这些方面: 1. 这个程序是一个简单的命令行输入...
【Java程序片段详解】 在Java编程中,常常会遇到各种常见的任务,如数据类型转换、文件操作、日期处理以及数据库交互等。以下是一些实用的Java程序片段,可以帮助你更高效地编写代码。 1. **字符串与整型的相互...
### Java程序设计报告知识点 #### 一、报告模板概述 在大学阶段,撰写关于Java程序设计的报告是一项重要的学习活动。此类报告不仅帮助学生总结所学知识,还能够锻炼其解决问题的能力以及团队协作技巧。本报告模板...
在这个名为"java程序代码下载"的压缩包中,包含了多种实用的Java小代码示例,它们可以帮助初学者快速理解和实践Java编程的基本概念。 首先,让我们探讨一下Java源码的重要性。源码是程序员用人类可读的语言编写的...
面向对象程序设计是Java语言的核心特性之一,它允许我们通过模拟现实世界中的对象来构建复杂的软件系统。在本次实验中,我们将深入理解面向对象的基本概念,包括类的定义、对象的创建、接口的使用以及异常处理。 ...
下面我们将详细探讨标题和描述中提到的20个非常实用的Java程序代码片段,这些片段涵盖了字符串操作、文件处理、日志记录、日期时间转换以及数据库连接等多个方面。 1. **字符串与整型的相互转换**: - `String....
描述“java 制作的五子棋可执行程序 五子棋java代码”进一步说明了这是一个可以直接运行的Java程序,并且提供了源代码。 #### 标签解析 标签“java 五子棋”强调了程序的技术栈是Java,并且游戏类型为五子棋。 ###...
### Java程序结构与示例分析 #### 一、概述 Java是一种广泛使用的面向对象编程语言,具有简单性、面向对象性、健壮性、安全性、平台独立性等优点。Java程序的基本单位是类(Class),类由方法和成员变量组成。本文...
### JAVA程序性能优化 在Java开发中,程序性能优化是...综上所述,Java程序性能优化是一个系统性的工作,涉及到多个方面的考虑和实践。通过对上述几个方面的理解和应用,可以有效地提高Java应用程序的性能和响应速度。
Java程序通常由类(Class)构成,每个类都可以包含属性(成员变量)、方法(函数)以及嵌套类。一个Java源文件通常包含一个或多个类定义,并且只能有一个公共类(Public Class),该公共类的名称必须与文件名相匹配...
Java程序填空题.pdf文件中包含了多道Java编程题目的片段,用于考察和练习编程能力。从文件内容中可以提取出以下知识点: 1. Scanner类的使用:在题目中出现了使用Scanner类来获取用户输入的代码片段。Scanner sc = ...
### 知识点一:百分制分数到等级分数转换 #### 代码解析: 这段Java代码实现了将百分制分数转换为等级分数的功能。程序定义了一个名为`SwitchTest`的类,并在...这些示例非常适合Java编程的初学者进行学习和练习。