黑马程序员技术交流社区

标题: (整理and分享)20个JAVA人员非常有用的功能代码 第一部分 [打印本页]

作者: xbs783    时间: 2016-11-3 18:20
标题: (整理and分享)20个JAVA人员非常有用的功能代码 第一部分
本文将为大家介绍20人员非常有用的Java功能代码。这20段代码,可以成为大家在今后的开发过程中,Java编程手册的重要部分。
由于字数限制,我分两部分上传给大家!
1. 把Strings转换成int和把int转换成String
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();
}
}
复制代码
3. 获取Java现在正调用的方法名
String methodName = Thread.currentThread().getStackTrace()[1].getMethodName ();
复制代码
4. 在Java中将String型转换成Date型
java.util.Date = java.text.DateFormat.getDateInstance().parse(date String);  
or
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();
}
}
复制代码
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());
复制代码
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 )
{
  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.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();
...
复制代码
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();
}
}
}
复制代码
11. 在Java上的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. Java Singleton 例子
Read this article for more
details.
Update: Thanks Markus for the comment. I have updated the code and
changed it to
more robust implementation.


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;
}
}
One more implementation of Singleton class. Thanks to Ralph and Lukasz Zielinski

for pointing this out.


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

//Call the method from Singleton:
SimpleSingleton.INSTANCE.doSomething();
复制代码
13. 在Java上做屏幕截图
Read this article for more details.


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. 在Java中的文件,目录列表
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;
}
}

// 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);
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2