20個常用的Java程式塊

來源:互聯網
上載者:User
001//1. 字串有整型的相互轉換002String a = String.valueOf(2); //integer to numeric string003int i = Integer.parseInt(a); //numeric string to an int004 005//2. 向檔案末尾新增內容006BufferedWriter out = null;007try {008out = new BufferedWriter(new FileWriter(”filename”, true));009out.write(”aString”);010} catch (IOException e) {011 // error processing code012 013} finally {014if (out != null) {015out.close();016}017 018}019 020//3. 得到當前方法的名字021String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();022 023//4. 轉字串到日期024java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);025//或者是:026SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );027Date date = format.parse( myString );028 029//5. 使用JDBC連結Oracle030public class OracleJdbcTest031{032 String driverClass = "oracle.jdbc.driver.OracleDriver";033 034 Connection con;035 036 public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException037 {038 Properties props = new Properties();039 props.load(fs);040 String url = props.getProperty("db.url");041 String userName = props.getProperty("db.user");042 String password = props.getProperty("db.password");043 Class.forName(driverClass);044 045 con=DriverManager.getConnection(url, userName, password);046 }047 048 public void fetch() throws SQLException, IOException049 {050 PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");051 ResultSet rs = ps.executeQuery();052 053 while (rs.next())054 {055 // do the thing you do056 }057 rs.close();058 ps.close();059 }060 061 public static void main(String[] args)062 {063 OracleJdbcTest test = new OracleJdbcTest();064 test.init();065 test.fetch();066 }067}068 0696. 把 Java util.Date 轉成 sql.Date070java.util.Date utilDate = new java.util.Date();071java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());072 073//7. 使用NIO進行快速的檔案拷貝074 public static void fileCopy( File in, File out )075 throws IOException076 {077 FileChannel inChannel = new FileInputStream( in ).getChannel();078 FileChannel outChannel = new FileOutputStream( out ).getChannel();079 try080 {081// inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows082 083 // magic number for Windows, 64Mb - 32Kb)084 int maxCount = (64 * 1024 * 1024) - (32 * 1024);085 long size = inChannel.size();086 long position = 0;087 while ( position < size )088 {089 position += inChannel.transferTo( position, maxCount, outChannel );090 }091 }092 finally093 {094 if ( inChannel != null )095 {096 inChannel.close();097 }098 if ( outChannel != null )099 {100 outChannel.close();101 }102 }103 }104 105//8. 建立圖片的縮圖106private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)107 throws InterruptedException, FileNotFoundException, IOException108 {109 // load image from filename110 Image image = Toolkit.getDefaultToolkit().getImage(filename);111 MediaTracker mediaTracker = new MediaTracker(new Container());112 mediaTracker.addImage(image, 0);113 mediaTracker.waitForID(0);114 // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());115 116 // determine thumbnail size from WIDTH and HEIGHT117 double thumbRatio = (double)thumbWidth / (double)thumbHeight;118 int imageWidth = image.getWidth(null);119 int imageHeight = image.getHeight(null);120 double imageRatio = (double)imageWidth / (double)imageHeight;121 if (thumbRatio < imageRatio) {122 thumbHeight = (int)(thumbWidth / imageRatio);123 } else {124 thumbWidth = (int)(thumbHeight * imageRatio);125 }126 127 // draw original image to thumbnail image object and128 // scale it to the new size on-the-fly129 BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);130 Graphics2D graphics2D = thumbImage.createGraphics();131 graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);132 graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);133 134 // save thumbnail image to outFilename135 BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));136 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);137 JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);138 quality = Math.max(0, Math.min(quality, 100));139 param.setQuality((float)quality / 100.0f, false);140 encoder.setJPEGEncodeParam(param);141 encoder.encode(thumbImage);142 out.close();143 }144 145//9. 建立 JSON 格式的資料146import org.json.JSONObject;147...148...149JSONObject json = new JSONObject();150json.put("city", "Mumbai");151json.put("country", "India");152...153String output = json.toString();154...155 156//10. 使用iText JAR產生PDF157import java.io.File;158import java.io.FileOutputStream;159import java.io.OutputStream;160import java.util.Date;161 162import com.lowagie.text.Document;163import com.lowagie.text.Paragraph;164import com.lowagie.text.pdf.PdfWriter;165 166public class GeneratePDF {167 168 public static void main(String[] args) {169 try {170 OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));171 172 Document document = new Document();173 PdfWriter.getInstance(document, file);174 document.open();175 document.add(new Paragraph("Hello Kiran"));176 document.add(new Paragraph(new Date().toString()));177 178 document.close();179 file.close();180 181 } catch (Exception e) {182 183 e.printStackTrace();184 }185 }186}187 188//11. HTTP 代理設定189System.getProperties().put("http.proxyHost", "someProxyURL");190System.getProperties().put("http.proxyPort", "someProxyPort");191System.getProperties().put("http.proxyUser", "someUserName");192System.getProperties().put("http.proxyPassword", "somePassword");193 194//12. 單一實例Singleton 樣本195public class SimpleSingleton {196 private static SimpleSingleton singleInstance = new SimpleSingleton();197 198 //Marking default constructor private199 //to avoid direct instantiation.200 private SimpleSingleton() {201 }202 203 //Get instance for class SimpleSingleton204 public static SimpleSingleton getInstance() {205 206 return singleInstance;207 }208}209 210//另一種實現211 212public enum SimpleSingleton {213 INSTANCE;214 public void doSomething() {215 }216}217 218//Call the method from Singleton:219SimpleSingleton.INSTANCE.doSomething();220 221//13. 抓屏程式222import java.awt.Dimension;223import java.awt.Rectangle;224import java.awt.Robot;225import java.awt.Toolkit;226import java.awt.image.BufferedImage;227import javax.imageio.ImageIO;228import java.io.File;229 230...231public void captureScreen(String fileName) throws Exception {232 233 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();234 Rectangle screenRectangle = new Rectangle(screenSize);235 Robot robot = new Robot();236 BufferedImage image = robot.createScreenCapture(screenRectangle);237 ImageIO.write(image, "png", new File(fileName));238 239}240//14. 列出檔案和目錄241File dir = new File("directoryName");242 String[] children = dir.list();243 if (children == null) {244 // Either dir does not exist or is not a directory245 } else {246 for (int i=0; i < children.length; i++) {247 // Get filename of file or directory248 String filename = children[i];249 }250 }251 252 // It is also possible to filter the list of returned files.253 // This example does not return any files that start with `.’.254 FilenameFilter filter = new FilenameFilter() {255 public boolean accept(File dir, String name) {256 return !name.startsWith(".");257 }258 };259 children = dir.list(filter);260 261 // The list of files can also be retrieved as File objects262 File[] files = dir.listFiles();263 264 // This filter only returns directories265 FileFilter fileFilter = new FileFilter() {266 public boolean accept(File file) {267 return file.isDirectory();268 }269 };270 files = dir.listFiles(fileFilter);271 272//15. 建立ZIP和JAR檔案273 274import java.util.zip.*;275import java.io.*;276 277public class ZipIt {278 public static void main(String args[]) throws IOException {279 if (args.length < 2) {280 System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");281 System.exit(-1);282 }283 File zipFile = new File(args[0]);284 if (zipFile.exists()) {285 System.err.println("Zip file already exists, please try another");286 System.exit(-2);287 }288 FileOutputStream fos = new FileOutputStream(zipFile);289 ZipOutputStream zos = new ZipOutputStream(fos);290 int bytesRead;291 byte[] buffer = new byte[1024];292 CRC32 crc = new CRC32();293 for (int i=1, n=args.length; i < n; i++) {294 String name = args[i];295 File file = new File(name);296 if (!file.exists()) {297 System.err.println("Skipping: " + name);298 continue;299 }300 BufferedInputStream bis = new BufferedInputStream(301 new FileInputStream(file));302 crc.reset();303 while ((bytesRead = bis.read(buffer)) != -1) {304 crc.update(buffer, 0, bytesRead);305 }306 bis.close();307 // Reset to beginning of input stream308 bis = new BufferedInputStream(309 new FileInputStream(file));310 ZipEntry entry = new ZipEntry(name);311 entry.setMethod(ZipEntry.STORED);312 entry.setCompressedSize(file.length());313 entry.setSize(file.length());314 entry.setCrc(crc.getValue());315 zos.putNextEntry(entry);316 while ((bytesRead = bis.read(buffer)) != -1) {317 zos.write(buffer, 0, bytesRead);318 }319 bis.close();320 }321 zos.close();322 }323}324 325//16. 解析/讀取XML 檔案326XML檔案327<?xml version="1.0"?>328<students>329 <student>330 <name>John</name>331 <grade>B</grade>332 <age>12</age>333 </student>334 <student>335 <name>Mary</name>336 <grade>A</grade>337 <age>11</age>338 </student>339 <student>340 <name>Simon</name>341 <grade>A</grade>342 <age>18</age>343 </student>344</students>345 346//Java代碼347package net.viralpatel.java.xmlparser;348 349import java.io.File;350import javax.xml.parsers.DocumentBuilder;351import javax.xml.parsers.DocumentBuilderFactory;352 353import org.w3c.dom.Document;354import org.w3c.dom.Element;355import org.w3c.dom.Node;356import org.w3c.dom.NodeList;357 358public class XMLParser {359 360 public void getAllUserNames(String fileName) {361 try {362 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();363 DocumentBuilder db = dbf.newDocumentBuilder();364 File file = new File(fileName);365 if (file.exists()) {366 Document doc = db.parse(file);367 Element docEle = doc.getDocumentElement();368 369 // Print root element of the document370 System.out.println("Root element of the document: "371 + docEle.getNodeName());372 373 NodeList studentList = docEle.getElementsByTagName("student");374 375 // Print total student elements in document376 System.out377 .println("Total students: " + studentList.getLength());378 379 if (studentList != null && studentList.getLength() > 0) {380 for (int i = 0; i < studentList.getLength(); i++) {381 382 Node node = studentList.item(i);383 384 if (node.getNodeType() == Node.ELEMENT_NODE) {385 386 System.out387 .println("=====================");388 389 Element e = (Element) node;390 NodeList nodeList = e.getElementsByTagName("name");391 System.out.println("Name: "392 + nodeList.item(0).getChildNodes().item(0)393 .getNodeValue());394 395 nodeList = e.getElementsByTagName("grade");396 System.out.println("Grade: "397 + nodeList.item(0).getChildNodes().item(0)398 .getNodeValue());399 400 nodeList = e.getElementsByTagName("age");401 System.out.println("Age: "402 + nodeList.item(0).getChildNodes().item(0)403 .getNodeValue());404 }405 }406 } else {407 System.exit(1);408 }409 }410 } catch (Exception e) {411 System.out.println(e);412 }413 }414 public static void main(String[] args) {415 416 XMLParser parser = new XMLParser();417 parser.getAllUserNames("c:\\test.xml");418 }419}420//17. 把 Array 轉換成 Map421import java.util.Map;422import org.apache.commons.lang.ArrayUtils;423 424public class Main {425 426 public static void main(String[] args) {427 String[ ][ ] countries = { { "United States", "New York" }, { "United Kingdom", "London" },428 { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } };429 430 Map countryCapitals = ArrayUtils.toMap(countries);431 432 System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));433 System.out.println("Capital of France is " + countryCapitals.get("France"));434 }435}436 437//18. 發送郵件438import javax.mail.*;439import javax.mail.internet.*;440import java.util.*;441 442public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException443{444 boolean debug = false;445 446 //Set the host smtp address447 Properties props = new Properties();448 props.put("mail.smtp.host", "smtp.example.com");449 450 // create some properties and get the default Session451 Session session = Session.getDefaultInstance(props, null);452 session.setDebug(debug);453 454 // create a message455 Message msg = new MimeMessage(session);456 457 // set the from and to address458 InternetAddress addressFrom = new InternetAddress(from);459 msg.setFrom(addressFrom);460 461 InternetAddress[] addressTo = new InternetAddress[recipients.length];462 for (int i = 0; i < recipients.length; i++)463 {464 addressTo[i] = new InternetAddress(recipients[i]);465 }466 msg.setRecipients(Message.RecipientType.TO, addressTo);467 468 // Optional : You can also set your custom headers in the Email if you Want469 msg.addHeader("MyHeaderName", "myHeaderValue");470 471 // Setting the Subject and Content Type472 msg.setSubject(subject);473 msg.setContent(message, "text/plain");474 Transport.send(msg);475}476 477//19. 發送代資料的HTTP 要求478import java.io.BufferedReader;479import java.io.InputStreamReader;480import java.net.URL;481 482public class Main {483 public static void main(String[] args) {484 try {485 URL my_url = new URL("http://cocre.com/");486 BufferedReader br = new BufferedReader(new InputStreamReader(my_url.openStream()));487 String strTemp = "";488 while(null != (strTemp = br.readLine())){489 System.out.println(strTemp);490 }491 } catch (Exception ex) {492 ex.printStackTrace();493 }494 }495}496 497//20. 改變數組的大小498/**499* Reallocates an array with a new size, and copies the contents500* of the old array to the new array.501* @param oldArray the old array, to be reallocated.502* @param newSize the new array size.503* @return A new array with the same contents.504*/505private static Object resizeArray (Object oldArray, int newSize) {506 int oldSize = java.lang.reflect.Array.getLength(oldArray);507 Class elementType = oldArray.getClass().getComponentType();508 Object newArray = java.lang.reflect.Array.newInstance(509 elementType,newSize);510 int preserveLength = Math.min(oldSize,newSize);511 if (preserveLength > 0)512 System.arraycopy (oldArray,0,newArray,0,preserveLength);513 return newArray;514}515 516// Test routine for resizeArray().517public static void main (String[] args) {518 int[] a = {1,2,3};519 a = (int[])resizeArray(a,5);520 a[3] = 4;521 a[4] = 5;522 for (int i=0; i<a.length; i++) 523 System.out.println (a[i]);524}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.