开发人员非常有用的Java功能代码(11-20)

来源:互联网 发布:angular.js 2.0下载 编辑:程序博客网 时间:2024/05/17 15:20
11. 在Java上的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.在Java上做屏幕截图

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));   }   ...  

13. 在Java中的文件,目录列表

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 directoryString 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 objectsFile[] files = dir.listFiles();// This filter only returns directoriesFileFilter fileFilter = new FileFilter() {public boolean accept(File file) {return file.isDirectory();}};files = dir.listFiles(fileFilter); 

14. 在Java中创建ZIP和JAR文件

import java.util.zip.*;   import java.io.*;   public class ZipIt {   public static void main(String args[]) throws IOException {   if (args.length < 2) {   System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");   System.exit(-1);   }   File zipFile = new File(args[0]);   if (zipFile.exists()) {   System.err.println("Zip file already exists, please try another");   System.exit(-2);   }   FileOutputStream fos = new FileOutputStream(zipFile);   ZipOutputStream zos = new ZipOutputStream(fos);   int bytesRead;   byte[] buffer = new byte[1024];   CRC32 crc = new CRC32();   for (int i=1, n=args.length; i < n; i++) {  String name = args[i];   File file = new File(name);   if (!file.exists()) {   System.err.println("Skipping: " + name);   continue;   }   BufferedInputStream bis = new BufferedInputStream(    new FileInputStream(file));   crc.reset();   while((bytesRead = bis.read(buffer)) != -1) {   crc.update(buffer, 0, bytesRead);   }bis.close();   // Reset to beginning of input stream   bis = new BufferedInputStream( new FileInputStream(file));   ZipEntry entry = new ZipEntry(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();   }   }  

15.在Java中解析/读取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>  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 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");}}  

16.在Java中将Array转换成Map

import java.util.Map;import org.apache.commons.lang.ArrayUtils;  public class Main {   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"));  }   }  

17. 在Java中发送电子邮件

import javax.mail.*;import javax.mail.internet.*;import java.util.*;public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException{boolean debug = false;//Set the host smtp addressProperties props = new Properties();props.put("mail.smtp.host", "smtp.example.com");// create some properties and get the default SessionSession session = Session.getDefaultInstance(props, null);session.setDebug(debug);// create a messageMessage msg = new MimeMessage(session);// set the from and to addressInternetAddress 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 Wantmsg.addHeader("MyHeaderName", "myHeaderValue");// Setting the Subject and Content Typemsg.setSubject(subject);msg.setContent(message, "text/plain");Transport.send(msg);}

18. 使用Java发送HTTP请求和提取数据

import java.io.BufferedReader;   import java.io.InputStreamReader;   import java.net.URL;   public class Main {   public static void main(String[] args)  {   try {   URL my_url = new URL("http://www.viralpatel.net/blogs/");   BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));   String strTemp = "";   while(null != (strTemp = br.readLine())){   System.out.println(strTemp);   }   } catch (Exception ex) {   ex.printStackTrace();   }   }   }  

19. 在Java中调整数组

/**  * Reallocates an array with a new size, and copies the contents  * of the old array to the new array.  * @param oldArray  the old array, to be reallocated.  * @param newSize   the new array size.  * @return          A new array with the same contents.  */  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;   }   // Test routine for resizeArray().   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.println (a[i]);}   }  


原创粉丝点击