实用的java代码片段

  1. 创建图片的缩略图
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(); 
}

2 创建JSON格式的数据

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

3 使用iText JAR生成PDF

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

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

5 解析/读取XML 文件

<?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代码
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"); 
} 
}

6 发送邮件

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); 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值