首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

20 個超實用 Java 程式碼片段:字串轉換、檔案操作、JSON、PDF、郵件發送等常見任務

     編輯:Java 相關知識

1. 字串與整數互轉

String a = String.valueOf(2); // int -> String
int i = Integer.parseInt(a);  // String -> int

2. 追加寫入檔案

try (BufferedWriter out = new BufferedWriter(new FileWriter("file.txt", true))) {
    out.write("content");
} catch (IOException e) { e.printStackTrace(); }

3. 取得當前方法名

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

4. 字串轉日期

Date date = new SimpleDateFormat("dd.MM.yyyy").parse(myString);

5. JDBC 連線 Oracle

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(url, user, pass);

6. util.Date 轉 sql.Date

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

7. NIO 快速複製大檔案

FileChannel in = new FileInputStream(src).getChannel();
FileChannel out = new FileOutputStream(dest).getChannel();
long pos = 0, size = in.size();
while (pos < size) pos += in.transferTo(pos, 64*1024*1024 - 32*1024, out);

8. 產生圖片縮略圖

BufferedImage thumb = new BufferedImage(w, h, BufferedImage.TYPE_INT_RGB);
Graphics2D g = thumb.createGraphics();
g.drawImage(srcImg, 0, 0, w, h, null);
ImageIO.write(thumb, "jpg", new File(outPath));

9. 建立 JSON(需 json-rpc-1.0.jar)

JSONObject json = new JSONObject();
json.put("city", "Taipei");
String out = json.toString();

10. iText 產生 PDF

Document doc = new Document();
PdfWriter.getInstance(doc, new FileOutputStream("out.pdf"));
doc.open();
doc.add(new Paragraph("Hello"));
doc.close();

11. HTTP Proxy 設定

System.setProperty("http.proxyHost", "proxy.com");
System.setProperty("http.proxyPort", "8080");

12. 單例模式(雙重檢查鎖 / Enum)

// Enum 單例 - 最簡潔、線程安全、防反序列化破壞
public enum Singleton { INSTANCE; public void doWork() {} }
Singleton.INSTANCE.doWork();

13. 螢幕截圖

BufferedImage img = new Robot().createScreenCapture(
    new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(img, "png", new File("screen.png"));

14. 列出目錄/過濾檔案

File dir = new File("path");
File[] files = dir.listFiles(f -> f.isDirectory()); // 只列資料夾

15. 建立 ZIP/JAR

try (ZipOutputStream zos = new ZipOutputStream(new FileOutputStream("out.zip"))) {
    zos.putNextEntry(new ZipEntry("file.txt"));
    Files.copy(Paths.get("file.txt"), zos);
    zos.closeEntry();
}

16. 解析 XML (DOM)

Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);
NodeList list = doc.getElementsByTagName("student");

17. 陣列轉 Map (Apache Commons Lang)

String[][] data = {{"US","NY"},{"UK","London"}};
Map map = ArrayUtils.toMap(data);

18. 發送郵件

Session session = Session.getInstance(props, authenticator);
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to));
msg.setSubject(subject);
msg.setText(content);
Transport.send(msg);

19. 發送 HTTP GET 請求

try (BufferedReader br = new BufferedReader(
    new InputStreamReader(new URL("https://example.com").openStream()))) {
    String line;
    while ((line = br.readLine()) != null) System.out.println(line);
}

20. 動態調整陣列大小

public static Object resizeArray(Object oldArray, int newSize) {
    int oldSize = Array.getLength(oldArray);
    Class comp = oldArray.getClass().getComponentType();
    Object newArray = Array.newInstance(comp, newSize);
    System.arraycopy(oldArray, 0, newArray, 0, Math.min(oldSize, newSize));
    return newArray;
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved