非常有用的java20个代码片段

简介: 因为欣赏所以转载。原文地址http://blog.csdn.net/gdhuyufei/article/details/51319417 字符串有整型的相互转换String a = String.valueOf(2);   //integer to numeric string  int i = Integer.
  1. 因为欣赏所以转载。原文地址http://blog.csdn.net/gdhuyufei/article/details/51319417
  2. 字符串有整型的相互转换
    String a = String.valueOf(2);   //integer to numeric string  
    int i = Integer.parseInt(a); //numeric string to an int
 
  • String a = String.valueOf(2);   //integer to numeric string  
    int i = Integer.parseInt(a); //numeric string to an intString a = String.valueOf(2);   //integer to numeric string  
    int i = Integer.parseInt(a); //numeric string to an int1
  • 2
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();  
    }  
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  1. 得到当前方法的名字
String methodName = Thread.currentThread().getStackTrace()[1].getMethodName();
  • 1
  • 1
  1. 转字符串到日期
java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);
或者是:

SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );  
Date date = format.parse( myString );
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5
  1. 使用JDBC链接Oracle
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();  
    }  
}
  • 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
  • 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
  1. 把 Java util.Date 转成 sql.Date
java.util.Date utilDate = new java.util.Date();  
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());
  • 1
  • 2
  • 1
  • 2
  1. 使用NIO进行快速的文件拷贝
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. 创建图片的缩略图

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 格式的数据

```java
import org.json.JSONObject;  

JSONObject json = new JSONObject();  
json.put("city", "Mumbai");  
json.put("country", "India");  
String output = json.toString();  




<div class="se-preview-section-delimiter"></div>

  • 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
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 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
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  1. 使用iText JAR生成PDF 
    “`java 
    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();  
    }  
}  

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19


11. HTTP 代理设置

阅读这篇 文章 了解更多细节。

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 示例

请先阅读这篇文章 了解更多信息

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
  • 9
  • 10
  • 11


另一种实现

public enum SimpleSingleton { 
INSTANCE; 
public void doSomething() { 

}

//Call the method from Singleton: 
SimpleSingleton.INSTANCE.doSomething(); 
13. 抓屏程序

阅读这篇文章 获得更多信息。

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. 列出文件和目录

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文件

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文件

10. 使用iText JAR生成PDF
```java
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();  
        }  
    }  
}




<div class="se-preview-section-delimiter"></div>

  • 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
  • 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
  1. HTTP 代理设置 
    “`java 
    System.getProperties().put(“http.proxyHost”, “someProxyURL”); 
    System.getProperties().put(“http.proxyPort”, “someProxyPort”); 
    System.getProperties().put(“http.proxyUser”, “someUserName”); 
    System.getProperties().put(“http.proxyPassword”, “somePassword”);
  2. 单实例Singleton 示例

请先阅读这篇文章 了解更多信息

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
  • 9
  • 10
  • 11


另一种实现

public enum SimpleSingleton { 
INSTANCE; 
public void doSomething() { 

}

//Call the method from Singleton: 
SimpleSingleton.INSTANCE.doSomething(); 
13. 抓屏程序

阅读这篇文章 获得更多信息。

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. 列出文件和目录

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文件

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文件

11. HTTP 代理设置
```java
System.getProperties().put("http.proxyHost", "someProxyURL");  
System.getProperties().put("http.proxyPort", "someProxyPort");  
System.getProperties().put("http.proxyUser", "someUserName");  
System.getProperties().put("http.proxyPassword", "somePassword");




<div class="se-preview-section-delimiter"></div>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  1. 单实例Singleton 示例

请先阅读这篇文章 了解更多信息

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
  • 9
  • 10
  • 11


另一种实现

public enum SimpleSingleton { 
INSTANCE; 
public void doSomething() { 

}

//Call the method from Singleton: 
SimpleSingleton.INSTANCE.doSomething(); 
13. 抓屏程序

阅读这篇文章 获得更多信息。

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. 列出文件和目录

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文件

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文件

12. 单实例Singleton 示例

```java

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;  
    }  
}




<div class="se-preview-section-delimiter"></div>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

另一种实现

public enum SimpleSingleton { 
INSTANCE; 
public void doSomething() { 

}

//Call the method from Singleton: 
SimpleSingleton.INSTANCE.doSomething(); 
13. 抓屏程序

阅读这篇文章 获得更多信息。

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. 列出文件和目录

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文件

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文件

另一种实现
```java
public enum SimpleSingleton {  
    INSTANCE;  
    public void doSomething() {  
    }  
}  

//Call the method from Singleton:  
SimpleSingleton.INSTANCE.doSomething();




<div class="se-preview-section-delimiter"></div>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  1. 抓屏程序

阅读这篇文章 获得更多信息。

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. 列出文件和目录

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文件

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文件

13. 抓屏程序

阅读这篇文章 获得更多信息。

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. 列出文件和目录

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文件

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();  
    }  
}
  • 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
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 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
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  1. 解析/读取XML 文件

XML文件

/** 
* 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]);  
}
相关文章
|
7月前
|
Java 开发者
java语言中“导包”的解释
java语言中“导包”的解释
58 0
|
1月前
|
存储 网络协议 Oracle
JAVA语言的基本内容
JAVA语言的基本内容
|
3月前
|
存储 Oracle Java
Java 入门程序&注释
Java 入门程序&注释
33 0
|
6月前
|
Java
【Java用法】Java中常见的 \t \n 的用法,并附有九九乘法表的Java代码的例子
【Java用法】Java中常见的 \t \n 的用法,并附有九九乘法表的Java代码的例子
62 0
|
9月前
|
Java 编译器
Java程序的方法设计
Java程序的方法设计
54 0
|
10月前
|
存储 缓存 Java
编写Java代码时应该避免的6个坑
编写Java代码时应该避免的6个坑
122 0
|
Java C语言
Java基础篇(简单语法的一些细节介绍)
Java基础篇(简单语法的一些细节介绍)
58 0
Java基础篇(简单语法的一些细节介绍)
|
Java 程序员
java 方法细节
1.返回多个参数值方案 返回多个参数值,使用数组即可 示例:返回两个数的和和差
51 0
|
Java
Java程序基本概念——注释
注释的意义、本质、分类
45 0
Java程序基本概念——注释
|
Java
编写Java程序时,应注意以下几点
编写Java程序时,应注意以下几点
102 0