- 浏览: 36327 次
- 性别:
- 来自: 成都
文章分类
最新评论
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]);
- }
相关推荐
Umi-OCR-main.zip
基于springboot+Web的毕业设计选题系统源码数据库文档.zip
基于springboot校外兼职教师考勤管理系统源码数据库文档.zip
58商铺全新UI试客试用平台网站源码
基于springboot大学生就业信息管理系统源码数据库文档.zip
基于SpringBoot的口腔诊所系统源码数据库文档.zip
数据存放网盘,txt文件内包含下载链接及提取码,永久有效。失效会第一时间进行补充。样例数据及详细介绍参见文章:https://blog.csdn.net/T0620514/article/details/143956923
3-240P2162218.zip
网络安全 基于Qt创建的Linux系统下的浏览器.zip
C++ 类和对象:多态-练习题目2(制作咖啡和茶叶)
基于springboot+J2EE在线项目管理与任务分配中的应用源码数据库文档.zip
简介本项目提供了一个在51单片机上运行的简单操作系统,旨在帮助学习者深入理解操作系统的基本原理和任务调度机制。该操作系统通过汇编和C语言编写,实现了任务调度、中断处理等核心功能,并提供了详细的源代码和注释,方便学习和实践。
本文将深度卷积神经网络(CNN)设计实现一个复杂结构的生成模型,旨在通过多阶段的编码器-解码器结构,能够有效地将灰度图像转换为彩色图像。最后,本文将实现一个简单的Web应用,用户可以通过上传灰度图像,应用会使用预训练的Caffe模型对其进行颜色化,并将结果返回给用户。 1.模型设计:模型由多个卷积层、ReLU激活函数和批归一化层组成,通过前向传播函数将输入的灰度图像(L通道)转换为彩色图像(ab通道)。如果指定了 pretrained=True,则会自动下载并加载预训练的模型权重。 2. 系统通过Flask框架提供了一个Web应用,用户可以上传灰度图像,系统会自动将其转换为彩色图像,并在网页上显示结果。整个过程包括文件验证、图像处理、颜色化预测和结果展示,具有较高的实用性和用户体验。
一个JAVA图形化的、联网的五子棋游戏.zip javaweb
KWDB 是一款面向 【AIoT 场景】的【分布式多模数据库】,支持在同一实例同时建立时序库和关系库并融合处理多模数据,具备千万级设备接入、百万级数据秒级写入、亿级数据秒级读取等时序数据高效处理能力,具有稳定安全、高可用、易运维等特点。
页面数量:7页 网页主题:网站模板、酒店网站模板、官方网站模板 网页页面:首页、关于我们、相关服务、服务详情、在线博客、博客详情、在线留言 页面实现元素:加载动画、滚动加载、主题切换、导航栏 、轮播图、图文列表、图片切换、 文字列表、 按钮悬停、图片悬停、表单 实现技术:HTML、CSS 、JQuery 源码样式及js文件均分开存放,所有内容仅供初学者学习参考
内容概要:本文档提供了详细的 Neo4j 安装与配置指南,涵盖 Windows、Linux 和 Mac 系统的安装步骤。具体包括下载、安装、启动服务、修改配置文件(如端口配置、远程访问和内存限制)、设置管理员密码以及基本的 Cypher 查询语言使用方法。同时,还提供了一些常见问题及其解决方案。 适合人群:数据库管理员、软件开发人员、系统管理员。 使用场景及目标:①帮助初学者快速掌握 Neo4j 的安装与配置;②适用于需要搭建和使用图数据库的项目;③为已有用户解决常见问题。 其他说明:本文档不仅包含了基础的安装和配置流程,还提供了实际操作中可能遇到的问题及其解决方法,有助于提高使用者的实际操作能力。
基于SpringBoot+Vue的软件产品展示销售系统源码数据库文档.zip
《书戴嵩画牛》教学课件.pptx
20届智能车 【项目资源】:包含前端、后端、移动开发、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源,毕业设计等各种技术项目的源码。包括C++、Java、python、web、C#、EDA等项目的源码。 【适用人群】:适用于希望学习不同技术领域的初学者或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。