睡你妈逼   发表于 2015-09-23 22:12:24

收藏 493 9

20个非常有用的java程序代码(2)

15. 创建ZIPJAR文件

 

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

    }   

}  

 

16. 解析/读取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代码:

 

ackage 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. 把 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"));   

  }   

}  

 

18. 发送邮件

 

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. 发送代数据的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://coolshell.cn/");   

            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. 改变数组的大小

 

/**  

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

 

以上是20个非常有用的java程序代码,希望对大家学习java有所帮助。


此帖被天天要开心 于2017年08月18日 22:24 进行了取消推荐操作
全部回复共9条
电梯直达
我要回复
加载中...
关闭
关闭
QQ
交流群
邀请
好友
App
下载
意见
反馈
返回
顶部