1. 字符串有整型的相互轉換
1
2
3
|
String a = String.valueOf( 2 ); //integer to numeric string
int
i = Integer.parseInt(a); //numeric string to an int |
2. 向文件末尾添加內容
1
2
3
4
5
6
7
8
9
10
11
12
|
BufferedWriter out = null ;
try
{ out = new
BufferedWriter( new FileWriter(”filename”,
true )); out.write(”aString”); } catch (IOException e) {
// error processing code } finally {
if (out !=
null ) { out.close(); } } |
3. 得到當前方法的名字
1
|
String methodName = Thread.currentThread().getStackTrace()[ 1 ].getMethodName(); |
4. 轉字符串到日期
1
2
|
java.util.Date = java.text.DateFormat.getDateInstance().parse(date String); |
或者是:
1
2
3
|
SimpleDateFormat format = new
SimpleDateFormat( "dd.MM.yyyy"
); Date date = format.parse( myString ); |
5. 使用JDBC鏈接Oracle
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
|
public
class OracleJdbcTest { String driverClass = "oracle.jdbc.driver.OracleDriver" ; Connection con; public void
init(FileInputStream fs) throws
ClassNotFoundException, SQLException, FileNotFoundException, IOException { Properties props = new
Properties(); props.load(fs); String url = props.getProperty( "db.url" ); String userName = props.getProperty( "db.user" ); String password = props.getProperty( "db.password" ); Class.forName(driverClass); con=DriverManager.getConnection(url, userName, password); } public void
fetch() throws SQLException, IOException
{ PreparedStatement ps = con.prepareStatement( "select SYSDATE from dual" ); ResultSet rs = ps.executeQuery(); while (rs.next())
{ // do the thing you do } rs.close(); ps.close(); } public static
void main(String[] args)
{ OracleJdbcTest test = new
OracleJdbcTest(); test.init(); test.fetch(); } } |
6. 把 Java util.Date 轉成 sql.Date
1
2
|
java.util.Date utilDate = new
java.util.Date(); java.sql.Date sqlDate = new
java.sql.Date(utilDate.getTime()); |
7. 使用NIO進行快速的文件拷貝
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
|
public
static void fileCopy( File in, File out ) throws IOException
{ FileChannel inChannel = new
FileInputStream( in ).getChannel(); FileChannel outChannel = new
FileOutputStream( out ).getChannel(); try { // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows // magic number for Windows, 64Mb - 32Kb) int maxCount = ( 64
* 1024
* 1024 ) - ( 32 *
1024 ); long size = inChannel.size();
long position =
0 ; while ( position < size )
{ position += inChannel.transferTo( position, maxCount, outChannel ); } } finally { if ( inChannel !=
null )
{ inChannel.close(); } if ( outChannel !=
null )
{ outChannel.close(); } } } |
8. 創建圖片的縮略圖
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
|
private
void createThumbnail(String filename, int thumbWidth,
int thumbHeight,
int quality, String outFilename)
throws InterruptedException, FileNotFoundException, IOException { // load image from filename Image image = Toolkit.getDefaultToolkit().getImage(filename); MediaTracker mediaTracker = new
MediaTracker( new Container());
mediaTracker.addImage(image, 0 );
mediaTracker.waitForID( 0 ); // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny()); // determine thumbnail size from WIDTH and HEIGHT double thumbRatio = ( double )thumbWidth / ( double )thumbHeight; int imageWidth = image.getWidth( null ); int imageHeight = image.getHeight( null ); double imageRatio = ( double )imageWidth / ( double )imageHeight; if (thumbRatio < imageRatio) {
thumbHeight = ( int )(thumbWidth / imageRatio); } else
{ thumbWidth = ( int )(thumbHeight * imageRatio); } // draw original image to thumbnail image object and // scale it to the new size on-the-fly BufferedImage thumbImage = new
BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB); Graphics2D graphics2D = thumbImage.createGraphics(); graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); graphics2D.drawImage(image, 0 ,
0 , thumbWidth, thumbHeight, null );
// save thumbnail image to outFilename BufferedOutputStream out = new
BufferedOutputStream( new FileOutputStream(outFilename));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out); JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage); quality = Math.max( 0 , Math.min(quality, 100 ));
param.setQuality(( float )quality / 100 .0f,
false ); encoder.setJPEGEncodeParam(param); encoder.encode(thumbImage); out.close(); } |
9. 創建 JSON 格式的數據
請先閱讀這篇文章 瞭解一些細節,
並下面這個JAR 文件:json-rpc-1.0.jar (75 kb)
1
2
3
4
5
6
7
8
9
|
import
org.json.JSONObject; ... ... JSONObject json =
new JSONObject();
json.put( "city" , "Mumbai" );
json.put( "country" , "India" );
... String output = json.toString(); ... |
10. 使用iText JAR生成PDF
閱讀這篇文章 瞭解更多細節
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
|
import
java.io.File; import
java.io.FileOutputStream; import
java.io.OutputStream; import
java.util.Date; import
com.lowagie.text.Document; import
com.lowagie.text.Paragraph; import
com.lowagie.text.pdf.PdfWriter; public
class GeneratePDF { public static
void main(String[] args) {
try {
OutputStream file = new
FileOutputStream( new File( "C:\\Test.pdf" )); Document document = new
Document(); PdfWriter.getInstance(document, file); document.open(); document.add( new Paragraph( "Hello Kiran" )); document.add( new Paragraph( new
Date().toString())); document.close(); file.close(); } catch
(Exception e) { e.printStackTrace(); } } } |
11. HTTP 代理設置
閱讀這篇 文章 瞭解更多細節。
1
2
3
4
5
|
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
15
|
public
class SimpleSingleton { private static
SimpleSingleton singleInstance = new
SimpleSingleton(); //Marking default constructor private //to avoid direct instantiation. private SimpleSingleton() {
} //Get instance for class SimpleSingleton public static
SimpleSingleton getInstance() { return singleInstance;
} } |
另一種實現
1
2
3
4
5
6
7
8
|
public
enum SimpleSingleton { INSTANCE; public void
doSomething() { } } //Call the method from Singleton: SimpleSingleton.INSTANCE.doSomething(); |
13. 抓屏程序
閱讀這篇文章 獲得更多信息。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import
java.awt.Dimension; import
java.awt.Rectangle; import
java.awt.Robot; import
java.awt.Toolkit; import
java.awt.image.BufferedImage; import
javax.imageio.ImageIO; import
java.io.File; ... public
void captureScreen(String fileName) throws Exception {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle screenRectangle = new
Rectangle(screenSize); Robot robot = new
Robot(); BufferedImage image = robot.createScreenCapture(screenRectangle); ImageIO.write(image, "png" ,
new File(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 =
new File( "directoryName" ); String[] children = dir.list(); if (children ==
null ) { // Either dir does not exist or is not a directory } else
{ for ( int
i= 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 = new
FilenameFilter() { public boolean
accept(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 = new
FileFilter() { public boolean
accept(File file) { return file.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
51
|
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文件
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
74
|
package
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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. 發送郵件
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
|
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 請求
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
import
java.io.BufferedReader; import
java.io.InputStreamReader; import
java.net.URL; public
class Main { public static
void main(String[] args) {
try {
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. 改變數組的大小
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
|
/**
* 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]); } |
public
class LineNo { public
static int
getLineNumber() { return
Thread.currentThread().getStackTrace()[ 2 ].getLineNumber();
}
public
static String getFileName() {
return
Thread.currentThread().getStackTrace()[ 2 ].getFileName();
}
public
static void
main(String args[]) { System.out.println( "[" +getFileName()+ ":" +
getLineNumber()+ "]" + "Hello World!" );
}
} |
(全文完)