常用Java程序片段

1、改变数组的大小 

package com.js.ai.modules.jsa.test;

public class Testxf {
private static Object resizeArray(Object oldArray, int newSize){
	int oldSize=java.lang.reflect.Array.getLength(oldArray);
	Class elementType=oldArray.getClass().getComponentType();
	Object newArray=java.lang.reflect.Array.newInstance(elementType, newSize);
	int preserveLength=Math.min(oldSize, newSize);
	if(preserveLength>0)
		System.arraycopy(oldArray, 0, newArray, 0, preserveLength);			
	return newArray;
}
public static void main(String[] args) {
	int[] a = {1,2,3};   	
	   a = (int[])resizeArray(a,5);
	   a[3] = 4;    
	   a[4] = 5;    
	   for (int i=0; i<a.length; i++)    
	      System.out.print (a[i]+";");  
}
}

 2、发送代数据的HTTP 请求

package com.js.ai.modules.jsa.test;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
public class Testxf {
public static void main(String[] args) {
	try {
		URL my_url=new URL("https://open.alipay.com/platform/home.htm");
		BufferedReader br=new BufferedReader(new InputStreamReader(my_url.openStream()));
		 String strTemp = "";  
		 while(null!=(strTemp=br.readLine())){
			 System.out.println(strTemp);
		 }
	} catch (Exception e) {
		e.printStackTrace();
	}
}
}

3、发送邮件 

package com.js.ai.modules.jsa.test;

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class Testxf {
	public void postMail(String recipients[], String subject, String message, String from) throws MessagingException {
		boolean debug = false;
		// Set the host smtp address
		Properties props = new Properties();
		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 = new MimeMessage(session);
		// set the from and to address
		InternetAddress addressFrom = new InternetAddress(from);
		msg.setFrom(addressFrom);
		InternetAddress[] addressTo = new InternetAddress[recipients.length];
		for (int i = 0; i < recipients.length; i++) {
			addressTo[i] = new InternetAddress(recipients[i]);
		}
		msg.setRecipients(Message.RecipientType.TO, addressTo);

		// Optional : You can also set your custom headers in the Email if you
		// Want
		msg.addHeader("MyHeaderName", "myHeaderValue");

		// Setting the Subject and Content Type
		msg.setSubject(subject);
		msg.setContent(message, "text/plain");
		Transport.send(msg);
	}
}

4、把 Array 转换成 Map 

public static void main(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"));    
  }    

5、解析/读取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代码:
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 in document    
                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");    
    }    
} 

6、列出文件和目录

File dir = new File("directoryName");    
  String[] children = dir.list();    
  if (children == null) {    
      // Either dir does not exist or is not a directory    
  } else {    
      for (int i=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 = new FilenameFilter() {    
      public boolean accept(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 directories    
  FileFilter fileFilter = new FileFilter() {    
      public boolean accept(File file) {    
          return file.isDirectory();    
      }    
  };    
  files = dir.listFiles(fileFilter); 

7、抓屏程序 

package com.js.ai.modules.jsa.test;

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;

import javax.imageio.ImageIO;

public class Testxf {
	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));    
		  
		} 
	public static void main(String[] args) throws Exception {
		Testxf testxf =new Testxf();
		testxf.captureScreen("C:/Users/Administrator/Desktop/JSAxfz/captureScreen.png");
	}
}

8、使用iText JAR生成PDF

import java.io.File;    
import java.io.FileOutputStream;    
import java.io.OutputStream;    
import java.util.Date;    

import com.lowagie.text.Document;    
import com.lowagie.text.Paragraph;    
import com.lowagie.text.pdf.PdfWriter;    

public class GeneratePDF {    

    public static void main(String[] args) {    
        try {    
            OutputStream file = new FileOutputStream(new File("C:\Test.pdf"));    

            Document document = new Document();    
            PdfWriter.getInstance(document, file);    
            document.open();    
            document.add(new Paragraph("Hello Kiran"));    
            document.add(new Paragraph(new Date().toString()));    

            document.close();    
            file.close();    

        } catch (Exception e) {    

            e.printStackTrace();    
        }    
    }    
}

9、使用NIO进行快速的文件拷贝

package com.js.ai.modules.jsa.test;
import java.awt.Container;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.RenderingHints;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;

import javax.imageio.ImageIO;
public class Testxf {
	public static void fileCopy( File in, File out )    
            throws IOException    
    {    
        FileChannel inChannel = new FileInputStream( in ).getChannel();    
        FileChannel outChannel = new FileOutputStream( out ).getChannel();    
        try   
        {    
//          inChannel.transferTo(0, inChannel.size(), outChannel);      // original -- apparently has trouble copying large files on Windows    

            // magic number for Windows, 64Mb - 32Kb)    
            int maxCount = (64 * 1024 * 1024) - (32 * 1024);    
            long size = inChannel.size();    
            long position = 0;    
            while ( position < size )    
            {    
               position += inChannel.transferTo( position, maxCount, outChannel );    
            }    
        }    
        finally   
        {    
            if ( inChannel != null )    
            {    
               inChannel.close();    
            }    
            if ( outChannel != null )    
            {    
                outChannel.close();    
            }    
        }    
    }
	public static void main(String[] args) throws IOException {
		Testxf testxf =new Testxf();
		File in=new File("C:/Users/Administrator/Desktop/JSAxfz/yuan.txt");
		File out=new File("C:/Users/Administrator/Desktop/JSAxfz/copy.txt");		
		testxf.fileCopy(in, out);
	}
}

10、使用JDBC链接Oracle

public class OracleJdbcTest    
{    
    String driverClass = "oracle.jdbc.driver.OracleDriver";    

    Connection con;    

    public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException    
    {    
        Properties props = new Properties();    
        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);    
    }    

    public void fetch() throws SQLException, 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();    
    }    

    public static void main(String[] args)    
    {    
        OracleJdbcTest test = new OracleJdbcTest();    
        test.init();    
        test.fetch();    
    }    
}
原文地址:https://www.cnblogs.com/ipetergo/p/7735615.html