java 程序片段_常用Java程序片段

1、改变数组的大小

package com.js.ai.modules.jsa.test;

public class Testxf {

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;

}

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

System.out.print (a[i]+";");

}

}

2、发送代数据的HTTP 请求

package com.js.ai.modules.jsa.test;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.net.URL;

public class Testxf {

public static void main(String[] args) {

try {

URL my_url=new URL("https://open.alipay.com/platform/home.htm");

BufferedReader br=new BufferedReader(new InputStreamReader(my_url.openStream()));

String strTemp = "";

while(null!=(strTemp=br.readLine())){

System.out.println(strTemp);

}

} catch (Exception e) {

e.printStackTrace();

}

}

}

3、发送邮件

package com.js.ai.modules.jsa.test;

import java.util.Properties;

import javax.mail.Message;

import javax.mail.MessagingException;

import javax.mail.Session;

import javax.mail.Transport;

import javax.mail.internet.InternetAddress;

import javax.mail.internet.MimeMessage;

public class Testxf {

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

}

}

4、把 Array 转换成 Map

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"));

}

5、解析/读取XML 文件

XML文件 :

John

B

12

Mary

A

11

Simon

A

18

java代码:

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

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

7、抓屏程序

package com.js.ai.modules.jsa.test;

import java.awt.Dimension;

import java.awt.Rectangle;

import java.awt.Robot;

import java.awt.Toolkit;

import java.awt.image.BufferedImage;

import java.io.File;

import javax.imageio.ImageIO;

public class Testxf {

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

}

public static void main(String[] args) throws Exception {

Testxf testxf =new Testxf();

testxf.captureScreen("C:/Users/Administrator/Desktop/JSAxfz/captureScreen.png");

}

}

8、使用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();

}

}

}

9、使用NIO进行快速的文件拷贝

package com.js.ai.modules.jsa.test;

import java.awt.Container;

import java.awt.Graphics2D;

import java.awt.Image;

import java.awt.MediaTracker;

import java.awt.RenderingHints;

import java.awt.Toolkit;

import java.awt.image.BufferedImage;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.nio.channels.FileChannel;

import javax.imageio.ImageIO;

public class Testxf {

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

}

}

}

public static void main(String[] args) throws IOException {

Testxf testxf =new Testxf();

File in=new File("C:/Users/Administrator/Desktop/JSAxfz/yuan.txt");

File out=new File("C:/Users/Administrator/Desktop/JSAxfz/copy.txt");

testxf.fileCopy(in, out);

}

}

10、使用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();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值