常用Java程序片段

Posted Ipeter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了常用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");
	}
}

  

以上是关于常用Java程序片段的主要内容,如果未能解决你的问题,请参考以下文章

常用Java程序片段

提效小技巧——记录那些不常用的代码片段

java代码在片段活动中不起作用

如何在片段中使用 GetJsonFromUrlTask​​.java

常用python日期日志获取内容循环的代码片段

C#常用代码片段备忘