- 浏览: 10201 次
- 性别:
- 来自: 烟台
文章分类
最新评论
-
wangshutaohabao:
为什么我选择 license提示无效 求指教啊
spket -
dreamhunter:
sub.request();//调用真实对象的request( ...
java 反射 动态代理
//1. 字符串有整型的相互转换
002 String a = String.valueOf(2); //integer to numeric string
003 int i = Integer.parseInt(a); //numeric string to an int
004
005 //2. 向文件末尾添加内容
006 BufferedWriter out = null;
007 try {
008 out = new BufferedWriter(new FileWriter(”filename”, true));
009 out.write(”aString”);
010 } catch (IOException e) {
011 // error processing code
012
013 } finally {
014 if (out != null) {
015 out.close();
016 }
017
018 }
019
020 //3. 得到当前方法的名字
021 String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
022
023 //4. 转字符串到日期
024 java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);
025 //或者是:
026 SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );
027 Date date = format.parse( myString );
028
029 //5. 使用JDBC链接Oracle
030 public class OracleJdbcTest
031 {
032 String driverClass = "oracle.jdbc.driver.OracleDriver";
033
034 Connection con;
035
036 public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
037 {
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, IOException
049 {
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 do
056 }
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
069 6. 把 Java util.Date 转成 sql.Date
070 java.util.Date utilDate = new java.util.Date();
071 java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
072
073 //7. 使用NIO进行快速的文件拷贝
074 public static void fileCopy( File in, File out )
075 throws IOException
076 {
077 FileChannel inChannel = new FileInputStream( in ).getChannel();
078 FileChannel outChannel = new FileOutputStream( out ).getChannel();
079 try
080 {
081 // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows
082
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 finally
093 {
094 if ( inChannel != null )
095 {
096 inChannel.close();
097 }
098 if ( outChannel != null )
099 {
100 outChannel.close();
101 }
102 }
103 }
104
105 //8. 创建图片的缩略图
106 private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)
107 throws InterruptedException, FileNotFoundException, IOException
108 {
109 // load image from filename
110 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 HEIGHT
117 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 and
128 // scale it to the new size on-the-fly
129 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 outFilename
135 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 格式的数据
146 import org.json.JSONObject;
147 ...
148 ...
149 JSONObject json = new JSONObject();
150 json.put("city", "Mumbai");
151 json.put("country", "India");
152 ...
153 String output = json.toString();
154 ...
155
156 //10. 使用iText JAR生成PDF
157 import java.io.File;
158 import java.io.FileOutputStream;
159 import java.io.OutputStream;
160 import java.util.Date;
161
162 import com.lowagie.text.Document;
163 import com.lowagie.text.Paragraph;
164 import com.lowagie.text.pdf.PdfWriter;
165
166 public 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 代理设置
189 System.getProperties().put("http.proxyHost", "someProxyURL");
190 System.getProperties().put("http.proxyPort", "someProxyPort");
191 System.getProperties().put("http.proxyUser", "someUserName");
192 System.getProperties().put("http.proxyPassword", "somePassword");
193
194 //12. 单实例Singleton 示例
195 public class SimpleSingleton {
196 private static SimpleSingleton singleInstance = new SimpleSingleton();
197
198 //Marking default constructor private
199 //to avoid direct instantiation.
200 private SimpleSingleton() {
201 }
202
203 //Get instance for class SimpleSingleton
204 public static SimpleSingleton getInstance() {
205
206 return singleInstance;
207 }
208 }
209
210 //另一种实现
211
212 public enum SimpleSingleton {
213 INSTANCE;
214 public void doSomething() {
215 }
216 }
217
218 //Call the method from Singleton:
219 SimpleSingleton.INSTANCE.doSomething();
220
221 //13. 抓屏程序
222 import java.awt.Dimension;
223 import java.awt.Rectangle;
224 import java.awt.Robot;
225 import java.awt.Toolkit;
226 import java.awt.image.BufferedImage;
227 import javax.imageio.ImageIO;
228 import java.io.File;
229
230 ...
231 public 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. 列出文件和目录
241 File dir = new File("directoryName");
242 String[] children = dir.list();
243 if (children == null) {
244 // Either dir does not exist or is not a directory
245 } else {
246 for (int i=0; i < children.length; i++) {
247 // Get filename of file or directory
248 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 objects
262 File[] files = dir.listFiles();
263
264 // This filter only returns directories
265 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
274 import java.util.zip.*;
275 import java.io.*;
276
277 public 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 stream
308 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 文件
326 XML文件
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代码
347 package net.viralpatel.java.xmlparser;
348
349 import java.io.File;
350 import javax.xml.parsers.DocumentBuilder;
351 import javax.xml.parsers.DocumentBuilderFactory;
352
353 import org.w3c.dom.Document;
354 import org.w3c.dom.Element;
355 import org.w3c.dom.Node;
356 import org.w3c.dom.NodeList;
357
358 public 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 document
370 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 document
376 System.out
377 .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.out
387 .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 转换成 Map
421 import java.util.Map;
422 import org.apache.commons.lang.ArrayUtils;
423
424 public 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. 发送邮件
438 import javax.mail.*;
439 import javax.mail.internet.*;
440 import java.util.*;
441
442 public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
443 {
444 boolean debug = false;
445
446 //Set the host smtp address
447 Properties props = new Properties();
448 props.put("mail.smtp.host", "smtp.example.com");
449
450 // create some properties and get the default Session
451 Session session = Session.getDefaultInstance(props, null);
452 session.setDebug(debug);
453
454 // create a message
455 Message msg = new MimeMessage(session);
456
457 // set the from and to address
458 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 Want
469 msg.addHeader("MyHeaderName", "myHeaderValue");
470
471 // Setting the Subject and Content Type
472 msg.setSubject(subject);
473 msg.setContent(message, "text/plain");
474 Transport.send(msg);
475 }
476
477 //19. 发送代数据的HTTP 请求
478 import java.io.BufferedReader;
479 import java.io.InputStreamReader;
480 import java.net.URL;
481
482 public 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 contents
500 * 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 */
505 private 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().
517 public 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 }
002 String a = String.valueOf(2); //integer to numeric string
003 int i = Integer.parseInt(a); //numeric string to an int
004
005 //2. 向文件末尾添加内容
006 BufferedWriter out = null;
007 try {
008 out = new BufferedWriter(new FileWriter(”filename”, true));
009 out.write(”aString”);
010 } catch (IOException e) {
011 // error processing code
012
013 } finally {
014 if (out != null) {
015 out.close();
016 }
017
018 }
019
020 //3. 得到当前方法的名字
021 String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
022
023 //4. 转字符串到日期
024 java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);
025 //或者是:
026 SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );
027 Date date = format.parse( myString );
028
029 //5. 使用JDBC链接Oracle
030 public class OracleJdbcTest
031 {
032 String driverClass = "oracle.jdbc.driver.OracleDriver";
033
034 Connection con;
035
036 public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException
037 {
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, IOException
049 {
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 do
056 }
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
069 6. 把 Java util.Date 转成 sql.Date
070 java.util.Date utilDate = new java.util.Date();
071 java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
072
073 //7. 使用NIO进行快速的文件拷贝
074 public static void fileCopy( File in, File out )
075 throws IOException
076 {
077 FileChannel inChannel = new FileInputStream( in ).getChannel();
078 FileChannel outChannel = new FileOutputStream( out ).getChannel();
079 try
080 {
081 // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows
082
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 finally
093 {
094 if ( inChannel != null )
095 {
096 inChannel.close();
097 }
098 if ( outChannel != null )
099 {
100 outChannel.close();
101 }
102 }
103 }
104
105 //8. 创建图片的缩略图
106 private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)
107 throws InterruptedException, FileNotFoundException, IOException
108 {
109 // load image from filename
110 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 HEIGHT
117 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 and
128 // scale it to the new size on-the-fly
129 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 outFilename
135 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 格式的数据
146 import org.json.JSONObject;
147 ...
148 ...
149 JSONObject json = new JSONObject();
150 json.put("city", "Mumbai");
151 json.put("country", "India");
152 ...
153 String output = json.toString();
154 ...
155
156 //10. 使用iText JAR生成PDF
157 import java.io.File;
158 import java.io.FileOutputStream;
159 import java.io.OutputStream;
160 import java.util.Date;
161
162 import com.lowagie.text.Document;
163 import com.lowagie.text.Paragraph;
164 import com.lowagie.text.pdf.PdfWriter;
165
166 public 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 代理设置
189 System.getProperties().put("http.proxyHost", "someProxyURL");
190 System.getProperties().put("http.proxyPort", "someProxyPort");
191 System.getProperties().put("http.proxyUser", "someUserName");
192 System.getProperties().put("http.proxyPassword", "somePassword");
193
194 //12. 单实例Singleton 示例
195 public class SimpleSingleton {
196 private static SimpleSingleton singleInstance = new SimpleSingleton();
197
198 //Marking default constructor private
199 //to avoid direct instantiation.
200 private SimpleSingleton() {
201 }
202
203 //Get instance for class SimpleSingleton
204 public static SimpleSingleton getInstance() {
205
206 return singleInstance;
207 }
208 }
209
210 //另一种实现
211
212 public enum SimpleSingleton {
213 INSTANCE;
214 public void doSomething() {
215 }
216 }
217
218 //Call the method from Singleton:
219 SimpleSingleton.INSTANCE.doSomething();
220
221 //13. 抓屏程序
222 import java.awt.Dimension;
223 import java.awt.Rectangle;
224 import java.awt.Robot;
225 import java.awt.Toolkit;
226 import java.awt.image.BufferedImage;
227 import javax.imageio.ImageIO;
228 import java.io.File;
229
230 ...
231 public 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. 列出文件和目录
241 File dir = new File("directoryName");
242 String[] children = dir.list();
243 if (children == null) {
244 // Either dir does not exist or is not a directory
245 } else {
246 for (int i=0; i < children.length; i++) {
247 // Get filename of file or directory
248 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 objects
262 File[] files = dir.listFiles();
263
264 // This filter only returns directories
265 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
274 import java.util.zip.*;
275 import java.io.*;
276
277 public 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 stream
308 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 文件
326 XML文件
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代码
347 package net.viralpatel.java.xmlparser;
348
349 import java.io.File;
350 import javax.xml.parsers.DocumentBuilder;
351 import javax.xml.parsers.DocumentBuilderFactory;
352
353 import org.w3c.dom.Document;
354 import org.w3c.dom.Element;
355 import org.w3c.dom.Node;
356 import org.w3c.dom.NodeList;
357
358 public 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 document
370 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 document
376 System.out
377 .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.out
387 .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 转换成 Map
421 import java.util.Map;
422 import org.apache.commons.lang.ArrayUtils;
423
424 public 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. 发送邮件
438 import javax.mail.*;
439 import javax.mail.internet.*;
440 import java.util.*;
441
442 public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException
443 {
444 boolean debug = false;
445
446 //Set the host smtp address
447 Properties props = new Properties();
448 props.put("mail.smtp.host", "smtp.example.com");
449
450 // create some properties and get the default Session
451 Session session = Session.getDefaultInstance(props, null);
452 session.setDebug(debug);
453
454 // create a message
455 Message msg = new MimeMessage(session);
456
457 // set the from and to address
458 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 Want
469 msg.addHeader("MyHeaderName", "myHeaderValue");
470
471 // Setting the Subject and Content Type
472 msg.setSubject(subject);
473 msg.setContent(message, "text/plain");
474 Transport.send(msg);
475 }
476
477 //19. 发送代数据的HTTP 请求
478 import java.io.BufferedReader;
479 import java.io.InputStreamReader;
480 import java.net.URL;
481
482 public 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 contents
500 * 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 */
505 private 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().
517 public 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 }
相关推荐
Java开发的打方块游戏,适合初学者参考和学习,设计的比较简单
010102_【第1章:JAVA概述及开发环境搭建】_Java开发环境搭建笔记.pdf 010201_【第2章:简单Java程序】_简单Java程序笔记.pdf 010301_【第3章:Java基础程序设计】_Java数据类型笔记.pdf 010302_【第3章:Java基础...
HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...
第1篇为准备篇,主要为Java Web开发概述,并手把手带领读者一块搭建Java Web开发环境;第2篇为基础篇,主要介绍HTML、CSS、JavaScript、Servlet、JSP和JavaBean等Java Web开发所需的基础知识,并对这些基础知识进行...
java开发的推箱子小游戏,100关,内含java源代码,适合新手学习。本人新手,代码写的一般般,希望大家多多指教。
此次公开的Java开发手册正是出自这样的团队,近万名阿里Java技术精英的经验总结,并经历了多次大规模一线实战检验及完善,铸就了这本高含金量的阿里Java开发手册。该手册以Java开发者为中心视角,划分为编程规约、...
书 名:Java Web服务开发 作 者:[美]尼戈潘 等著,庞太刚,陶程 译 出 版 社:清华大学出版社 出版时间:2004-5-1 页 数:543 定 价:68.00 ISBN:9787302084440 内容简介:本书全面深入地探讨了下一代...
志、MySQL 数据库、工程结构、安全规约五大块,再根据内容特征,细分成若干二级子 目录。根据约束力强弱及故障敏感性,规约依次分为强制、推荐、参考三大类。对于 规约条目的延伸信息中,“说明”对内容做了引申和...
常用的Java开发工具包括Eclipse、IntelliJ IDEA和NetBeans等。Java开发环境包括Java开发工具包(JDK)和Java虚拟机(JVM)。JDK是Java编程语言的开发工具包,包括Java编译器、Java调试器等工具。JVM是Java程序的运行...
Java检测碰撞 聪明躲开的方块,鼠标始终碰不到该方块,是一个小游戏类型的程序吧,程序执行后,创建一个含有方块的面板,用户可以通过鼠标抓取方块,但是,无论用户怎样努力,方块总是朝着与鼠标运动相反的方向运动...
java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发...
java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发 小游戏 经典游戏 游戏源码 课程设计 java游戏开发...
基于java开发的微信程序小游戏-别踩白块
java课程设计大作业,java、算法练手项目,适合初学java、数据结构的同学拿来学习研究,基于java、GUI开发的小游戏,程序都经过测试,可以直接运行,资源含程序运行所需的源码、资源文件等全部数据,有需要的可放心...
电子工业出版社的,孙卫琴的《精通Struts:基于MVC的Java Web设计与开发》22.9Mb,清晰版,原来传的时候附件只能是5Mb,一共有五个,有点麻烦,现在能传10Mb的所以分成三块压缩再传了一遍,下载后把三个压缩文件的...
自己创做的基于java开发的网络对战俄罗期方块 , 注意这不是项目原码,就是一个游戏exe
1.4 搭建Java开发环境 9 1.4.1 安装与设置JDK 9 1.4.2 安装与启动Eclipse IDE 12 习题 15 第2章 构建Java应用程序 16 2.1 如何构建应用程序 16 2.1.1 如何编写程序代码 16 2.1.2 程序设计的基础 17 ...
Java开发技术大全 电子版 第1篇Java基础知识入门. 第1章Java的开发运行环境2 1.1Java的运行环境与虚拟机2 1.2Java的开发环境4 1.2.1JDK的安装4 1.2.2如何设置系统环境变量6 1.2.3编译命令的使用8 1.2.4解释...