20个开发人员非常有用的Java功能代码(1)

1. 把Strings转换成int和把int转换成String

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 int

2. 向Java文件中添加文本

Updated: Thanks Simone for pointing to exception. I have 

changed the code. 
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(); 


} 
} 

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. 获取Java现在正调用的方法名

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

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

4. 在Java中将String型转换成Date型

java.util.Date = 
java.text.DateFormat.getDateInstance().parse(date String); 

java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);or SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" ); Date date = format.parse( myString ); SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" ); Date date = format.parse( myString );

5. 通过Java 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 (); } }

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

这一片段显示如何将一个java util Date转换成sql Date用于数据库

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

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

7. 使用NIO快速复制Java文件

 
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 ) { & nbsp; position += inChannel.transferTo( position, maxCount, outChannel );

} } finally { if ( inChannel != null ) { & nbsp; inChannel.close(); } if ( outChannel != null ) { & nbsp; outChannel.close(); } } }

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. 在Java中创建缩略图

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

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.drawImag e(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. 在Java中创建JSON数据

Read this article for more details.
Download JAR file json

-rpc-1.0.jar (75 kb)

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

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

10. 在Java中使用iText JAR打开PDF

Read this article for more details.

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值