20个开发人员非常有用的Java功能代码

1. 把Strings转换成int和把int转换成String

String a = String.valueOf(2); //integer to numeric string
int i = Integer.parseInt(a); //numeric string to an int

 

String a = String.valueOf(2); //integer to numeric string
int i = Integer.parseInt(a); //numeric string to an 

2. 向Java文件中添加文本

 

Updated: Thanks Simone for pointing to exception. I have 

changed the code.  BufferedWriter ut = null;   try 

{   out = new BufferedWriter(new FileWriter(”

filename”, true));   out.write(”

aString”);   } catch (IOException e) {   // error processing code   } finally 

{   if (out != null) {   out.close();   }   }

 

BufferedWriter ut = null; try { out = new BufferedWriter(new FileWriter(”filename”, true)); out.write(”aString”); } catch (IOException e) { // error processing code } finally { if (out != null) { out.close(); } }

3. 获取Java现在正调用的方法名

 String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();

 

String methodName = Thread.currentThread().getStackTrace()[1].getMethodName ();

4. 在Java中将String型转换成Date型

java.util.Date = 
java.text.DateFormat.getDateInstance().parse(date String);

 

java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);or SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" ); Date date = format.parse( myString ); SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" ); Date date = format.parse( myString );

5. 通过Java 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
();  }  }

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

6.将Java中的util.Date转换成sql.Date

这一片段显示如何将一个java util Date转换成sql Date用于数据库

java.util.Date utilDate = new 
java.util.Date();   java.sql.Date sqlDate = new java.sql.Date
(utilDate.getTime());

 

java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

7. 使用NIO快速复制Java文件

public static void fileCopy( File in, File out )
  throws IOException  {  FileChannel inChannel = new
FileInputStream( in ).getChannel();  FileChannel utChannel = 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 )  {  &
nbsp; position += inChannel.transferTo( position, maxCount, outChannel );

}
  }  finally {  if (
inChannel != null )  {  &
nbsp; inChannel.close();  }
  if ( outChannel != null )  {  &
nbsp;  outChannel.close();  }
  }  }

8. 在Java中创建缩略图

private void createThumbnail(String filename, int thumbWidth,
int thumbHeight, int

 

quality, String outFilename)  throws InterruptedException,
FileNotFoundException, IOException  {  // load image from
filename  Image image =
Toolkit.getDefaultToolkit().getImage(filename);  MediaTracker mediaTracker = new
MediaTracker(new Container());  mediaTracker.addImage(image,
0);  mediaTracker.waitForID(0);  // use this to test for errors at

9. 在Java中创建JSON数据

Download JAR file json
-rpc-1.0.jar (75 kb)

 

import org.json.JSONObject;  ...  ...  JSONObject json = new JSONObject();  json.put("city", "Mumbai");  json.put("country",
"India");  ...  String utput = json.toString
();  ...

import org.json.JSONObject; ... ... JSONObject json = new
JSONObject(); json.put("city", "Mumbai"); json.put("country",
"India"); ... String utput = json.toString(); ...

10. 在Java中使用iText JAR打开PDF

Read this article for more details.

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

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

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");

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 Singleton 例子

Read this article for more
details. Update: Thanks Markus for the comment. I have updated the code and
changed it to

more robust implementation.

public class SimpleSingleton {  private static SimpleSingleton singleInstance =  new SimpleSingleton
(); 
//Marking default constructor
private  //to avoid direct
instantiation.  private SimpleSingleton()
{  } 
//Get instance for class SimpleSingleton  public static SimpleSingleton getInstance() { 
return
singleInstance;  }  }

public class SimpleSingleton { private static SimpleSingleton
singleInstance =  new SimpleSingleton();

//Marking default constructor private //to avoid direct
instantiation. private SimpleSingleton() { }

//Get instance for class SimpleSingleton public static
SimpleSingleton getInstance() {

return singleInstance; } } One more implementation of
Singleton class. Thanks to Ralph and Lukasz Zielinski

for pointing this out.

public enum SimpleSingleton {  INSTANCE;  public void doSomething()
{  }  } 
//Call the method from Singleton:  SimpleSingleton.INSTANCE.doSomething();

public enum SimpleSingleton { INSTANCE; public void
doSomething() { } }

//Call the method from Singleton: SimpleSingleton.INSTANCE.doSomething();

13. 在Java上做屏幕截图

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

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

}

14. 在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 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);

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

15. 在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()) {  &
nbsp;  System.err.println("Skipping: " + name);  &
nbsp;  continue;  }
  BufferedInputStream bis = new BufferedInputStream(  &
nbsp;  new FileInputStream(file));  crc.reset
();  while
((bytesRead = bis.read(buffer)) != -1) {  &
nbsp;  crc.update(buffer, 0, bytesRead);  }
  bis.close();  // Reset to
beginning of input stream  bis = new
BufferedInputStream(  &
nbsp;  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) {  &
nbsp;  zos.write(buffer, 0, bytesRead);  }
  bis.close();  }
  zos.close
();  }  }

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); &
nbsp;  
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); &
nbsp; 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. Parsing / Reading XML file in Java Sample XML file.

John B 12 Mary A 11 Simon A 18

<?xml version="1.0"? > John B 12 Mary A <
AGE>11 Simon A 18 Java code to parse above XML.

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()) {  &
nbsp;  Document doc = db.parse(file);  &
nbsp;  Element docEle = doc.getDocumentElement(); 
&
nbsp;  // Print root element of the document  &
nbsp;  System.out.println("Root element of the document: " &
nbsp;          + docEle.getNodeName
()); 
&
nbsp;  NodeList studentList = docEle.getElementsByTagName
("student"); 
&
nbsp;  // Print total student elements in document  &
nbsp;  System.out  & nbsp; .println("Total students: " + studentList.getLength());
&
nbsp;  if (studentList != null && studentList.getLength() > 0)
{  &
nbsp;      for (int i = 0; i < studentList.getLength();
i++) { 
&
nbsp;          Node node =
studentList.item(i); 
&
nbsp;          if (node.getNodeType()
== Node.ELEMENT_NODE) { 
&
nbsp;             
System.out  &
nbsp;            
         .println
("====================="); 
&
nbsp;             
Element e = (Element) node;  &
nbsp;             
NodeList nodeList = e.getElementsByTagName("name");  &
nbsp;             
System.out.println("Name: " & nbsp; + nodeList.item(0).getChildNodes ().item(0) &
nbsp;            
             
;   .getNodeValue()); 
&
nbsp;             
nodeList = e.getElementsByTagName("grade");  &
nbsp;             
System.out.println("Grade: " &
nbsp;            
         + nodeList.item(0).getChildNodes
().item(0)  &
nbsp;            
             
;   .getNodeValue()); 
&
nbsp;             
nodeList = e.getElementsByTagName("age");  &
nbsp;             
System.out.println("Age: " &
nbsp;            
         + nodeList.item(0).getChildNodes
().item(0)  &
nbsp;            
             
;   .getNodeValue());  &
nbsp;          }  &
nbsp;      }  &
nbsp;  } else {  &
nbsp;      System.exit(1);  &
nbsp;  }  }
  } catch (Exception e)
{  System.out.println(e);  }  }  public
static void main(String[] args) { 
XMLParser parser = new XMLParser
();  parser.getAllUserNames("c:\\test.xml");  }
  }

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 &nb
sp;.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"); } } 17.
Convert Array to Map in Java

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

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")); } } 18. Send Email
using 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 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);  }

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 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); } 19. Send HTTP
request & fetching data using Java

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/");&nbs
p; 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();  }
  }  }

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
(); } } } 20. Resize an Array in 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 ldSize =
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; <BR="" i++)="">      System.out.println (a[i]);  }

16. 在Java中解析/读取XML文件

view plaincopy to clipboardprint?
<?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>

<?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 code to parse above XML.

view plaincopy to clipboardprint?
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"); } }

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

17. 在Java中将Array转换成Map

plaincopy to clipboardprint?
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"));  }  }

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

18. 在Java中发送电子邮件

view plaincopy to clipboardprint?
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 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); }

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

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

view plaincopy to clipboardprint?
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(); } } }

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

20. 在Java中调整数组

view plaincopy to clipboardprint?

/**
* 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 ldSize = 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]); 
}

原文地址:https://www.cnblogs.com/wjlstation/p/2592139.html