Java中常用的代码汇总

一杯JAVA浓 做棵大树 7年前 (2017-05-02) 2748次浏览 0个评论

11. HTTP 代理设置

1
2
3
4
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. 单实例 Singleton 示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
publicclassSimpleSingleton {
  privatestaticSimpleSingleton singleInstance = newSimpleSingleton();
  
  //Marking default constructor private
  //to avoid direct instantiation.
  privateSimpleSingleton() {
  }
  
  //Get instance for class SimpleSingleton
  publicstaticSimpleSingleton getInstance() {
  
    returnsingleInstance;
  }
}

13. 抓屏程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.Robot;
importjava.awt.Toolkit;
importjava.awt.image.BufferedImage;
importjavax.imageio.ImageIO;
importjava.io.File;
  
...
  
publicvoidcaptureScreen(String fileName) throwsException {
  
  Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
  Rectangle screenRectangle = newRectangle(screenSize);
  Robot robot = newRobot();
  BufferedImage image = robot.createScreenCapture(screenRectangle);
  ImageIO.write(image, "png", newFile(fileName));
  
}
...

14. 列出文件和目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
File dir = newFile("directoryName");
 String[] children = dir.list();
 if(children == null) {
   // Either dir does not exist or is not a directory
 } else{
   for(inti=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 = newFilenameFilter() {
   publicbooleanaccept(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 = newFileFilter() {
   publicbooleanaccept(File file) {
     returnfile.isDirectory();
   }
 };
 files = dir.listFiles(fileFilter);

15. 创建 ZIP 和 JAR 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
importjava.util.zip.*;
importjava.io.*;
  
publicclassZipIt {
  publicstaticvoidmain(String args[]) throwsIOException {
    if(args.length < 2) {
      System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");
      System.exit(-1);
    }
    File zipFile = newFile(args[0]);
    if(zipFile.exists()) {
      System.err.println("Zip file already exists, please try another");
      System.exit(-2);
    }
    FileOutputStream fos = newFileOutputStream(zipFile);
    ZipOutputStream zos = newZipOutputStream(fos);
    intbytesRead;
    byte[] buffer = newbyte[1024];
    CRC32 crc = newCRC32();
    for(inti=1, n=args.length; i < n; i++) {
      String name = args[i];
      File file = newFile(name);
      if(!file.exists()) {
        System.err.println("Skipping: "+ name);
        continue;
      }
      BufferedInputStream bis = newBufferedInputStream(
        newFileInputStream(file));
      crc.reset();
      while((bytesRead = bis.read(buffer)) != -1) {
        crc.update(buffer, 0, bytesRead);
      }
      bis.close();
      // Reset to beginning of input stream
      bis = newBufferedInputStream(
        newFileInputStream(file));
      ZipEntry entry = newZipEntry(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 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
<span style="font-family:Arial;font-size:14px;">packagenet.viralpatel.java.xmlparser;
  
importjava.io.File;
importjavax.xml.parsers.DocumentBuilder;
importjavax.xml.parsers.DocumentBuilderFactory;
  
importorg.w3c.dom.Document;
importorg.w3c.dom.Element;
importorg.w3c.dom.Node;
importorg.w3c.dom.NodeList;
  
publicclassXMLParser {
  
  publicvoidgetAllUserNames(String fileName) {
    try{
      DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
      DocumentBuilder db = dbf.newDocumentBuilder();
      File file = newFile(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(inti = 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);
    }
  }
  publicstaticvoidmain(String[] args) {
  
    XMLParser parser = newXMLParser();
    parser.getAllUserNames("c:\\test.xml");
  }
}

17. 把 Array 转换成 Map

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
importjava.util.Map;
importorg.apache.commons.lang.ArrayUtils;
  
publicclassMain {
  
 publicstaticvoidmain(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. 发送邮件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
importjavax.mail.*;
importjavax.mail.internet.*;
importjava.util.*;
  
publicvoidpostMail( String recipients[ ], String subject, String message , String from) throwsMessagingException
{
  booleandebug = false;
  
   //Set the host smtp address
   Properties props = newProperties();
   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 = newMimeMessage(session);
  
  // set the from and to address
  InternetAddress addressFrom = newInternetAddress(from);
  msg.setFrom(addressFrom);
  
  InternetAddress[] addressTo = newInternetAddress[recipients.length];
  for(inti = 0; i < recipients.length; i++)
  {
    addressTo[i] = newInternetAddress(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 请求

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.net.URL;
  
publicclassMain {
  publicstaticvoidmain(String[] args) {
    try{
      URL my_url = newURL("http://coolshell.cn/");
      BufferedReader br = newBufferedReader(newInputStreamReader(my_url.openStream()));
      String strTemp = "";
      while(null!= (strTemp = br.readLine())){
      System.out.println(strTemp);
    }
    } catch(Exception ex) {
      ex.printStackTrace();
    }
  }
}

20. 改变数组的大小

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/**
* 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]);
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

 


做棵大树 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Java 中常用的代码汇总
喜欢 (2)
[欢迎投币]
分享 (0)
关于作者:
一个整天无所事事的,有时候忽然热血的孩子
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址