20个常用的java开发块

//1. 字符串有整型的相互转换

002 String a = String.valueOf(2); //integer to numeric string

003 int i = Integer.parseInt(a); //numeric string to an int

004

005 //2. 向文件末尾添加内容

006 BufferedWriter out = null;

007 try {

008 out = new BufferedWriter(new FileWriter(”filename”, true));

009 out.write(”aString”);

010 } catch (IOException e) {

011 // error processing code

012

013 } finally {

014 if (out != null) {

015 out.close();

016 }

017

018 }

019

020 //3. 得到当前方法的名字

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

022

023 //4. 转字符串到日期

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

025 //或者是:

026 SimpleDateFormat format = new SimpleDateFormat( "dd.MM.yyyy" );

027 Date date = format.parse( myString );

028

029 //5. 使用JDBC链接Oracle

030 public class OracleJdbcTest

031 {

032 String driverClass = "oracle.jdbc.driver.OracleDriver";

033

034 Connection con;

035

036 public void init(FileInputStream fs) throws ClassNotFoundException, SQLException, FileNotFoundException, IOException

037 {

038 Properties props = new Properties();

039 props.load(fs);

040 String url = props.getProperty("db.url");

041 String userName = props.getProperty("db.user");

042 String password = props.getProperty("db.password");

043 Class.forName(driverClass);

044

045 con=DriverManager.getConnection(url, userName, password);

046 }

047

048 public void fetch() throws SQLException, IOException

049 {

050 PreparedStatement ps = con.prepareStatement("select SYSDATE from dual");

051 ResultSet rs = ps.executeQuery();

052

053 while (rs.next())

054 {

055 // do the thing you do

056 }

057 rs.close();

058 ps.close();

059 }

060

061 public static void main(String[] args)

062 {

063 OracleJdbcTest test = new OracleJdbcTest();

064 test.init();

065 test.fetch();

066 }

067 }

068

069 6. 把 Java util.Date 转成 sql.Date

070 java.util.Date utilDate = new java.util.Date();

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

072

073 //7. 使用NIO进行快速的文件拷贝

074 public static void fileCopy( File in, File out )

075 throws IOException

076 {

077 FileChannel inChannel = new FileInputStream( in ).getChannel();

078 FileChannel outChannel = new FileOutputStream( out ).getChannel();

079 try

080 {

081 // inChannel.transferTo(0, inChannel.size(), outChannel); // original -- apparently has trouble copying large files on Windows

082

083 // magic number for Windows, 64Mb - 32Kb)

084 int maxCount = (64 * 1024 * 1024) - (32 * 1024);

085 long size = inChannel.size();

086 long position = 0;

087 while ( position < size )

088 {

089 position += inChannel.transferTo( position, maxCount, outChannel );

090 }

091 }

092 finally

093 {

094 if ( inChannel != null )

095 {

096 inChannel.close();

097 }

098 if ( outChannel != null )

099 {

100 outChannel.close();

101 }

102 }

103 }

104

105 //8. 创建图片的缩略图

106 private void createThumbnail(String filename, int thumbWidth, int thumbHeight, int quality, String outFilename)

107 throws InterruptedException, FileNotFoundException, IOException

108 {

109 // load image from filename

110 Image image = Toolkit.getDefaultToolkit().getImage(filename);

111 MediaTracker mediaTracker = new MediaTracker(new Container());

112 mediaTracker.addImage(image, 0);

113 mediaTracker.waitForID(0);

114 // use this to test for errors at this point: System.out.println(mediaTracker.isErrorAny());

115

116 // determine thumbnail size from WIDTH and HEIGHT

117 double thumbRatio = (double)thumbWidth / (double)thumbHeight;

118 int imageWidth = image.getWidth(null);

119 int imageHeight = image.getHeight(null);

120 double imageRatio = (double)imageWidth / (double)imageHeight;

121 if (thumbRatio < imageRatio) {

122 thumbHeight = (int)(thumbWidth / imageRatio);

123 } else {

124 thumbWidth = (int)(thumbHeight * imageRatio);

125 }

126

127 // draw original image to thumbnail image object and

128 // scale it to the new size on-the-fly

129 BufferedImage thumbImage = new BufferedImage(thumbWidth, thumbHeight, BufferedImage.TYPE_INT_RGB);

130 Graphics2D graphics2D = thumbImage.createGraphics();

131 graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);

132 graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null);

133

134 // save thumbnail image to outFilename

135 BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));

136 JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

137 JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);

138 quality = Math.max(0, Math.min(quality, 100));

139 param.setQuality((float)quality / 100.0f, false);

140 encoder.setJPEGEncodeParam(param);

141 encoder.encode(thumbImage);

142 out.close();

143 }

144

145 //9. 创建 JSON 格式的数据

146 import org.json.JSONObject;

147 ...

148 ...

149 JSONObject json = new JSONObject();

150 json.put("city", "Mumbai");

151 json.put("country", "India");

152 ...

153 String output = json.toString();

154 ...

155

156 //10. 使用iText JAR生成PDF

157 import java.io.File;

158 import java.io.FileOutputStream;

159 import java.io.OutputStream;

160 import java.util.Date;

161

162 import com.lowagie.text.Document;

163 import com.lowagie.text.Paragraph;

164 import com.lowagie.text.pdf.PdfWriter;

165

166 public class GeneratePDF {

167

168 public static void main(String[] args) {

169 try {

170 OutputStream file = new FileOutputStream(new File("C:\\Test.pdf"));

171

172 Document document = new Document();

173 PdfWriter.getInstance(document, file);

174 document.open();

175 document.add(new Paragraph("Hello Kiran"));

176 document.add(new Paragraph(new Date().toString()));

177

178 document.close();

179 file.close();

180

181 } catch (Exception e) {

182

183 e.printStackTrace();

184 }

185 }

186 }

187

188 //11. HTTP 代理设置

189 System.getProperties().put("http.proxyHost", "someProxyURL");

190 System.getProperties().put("http.proxyPort", "someProxyPort");

191 System.getProperties().put("http.proxyUser", "someUserName");

192 System.getProperties().put("http.proxyPassword", "somePassword");

193

194 //12. 单实例Singleton 示例

195 public class SimpleSingleton {

196 private static SimpleSingleton singleInstance = new SimpleSingleton();

197

198 //Marking default constructor private

199 //to avoid direct instantiation.

200 private SimpleSingleton() {

201 }

202

203 //Get instance for class SimpleSingleton

204 public static SimpleSingleton getInstance() {

205

206 return singleInstance;

207 }

208 }

209

210 //另一种实现

211

212 public enum SimpleSingleton {

213 INSTANCE;

214 public void doSomething() {

215 }

216 }

217

218 //Call the method from Singleton:

219 SimpleSingleton.INSTANCE.doSomething();

220

221 //13. 抓屏程序

222 import java.awt.Dimension;

223 import java.awt.Rectangle;

224 import java.awt.Robot;

225 import java.awt.Toolkit;

226 import java.awt.image.BufferedImage;

227 import javax.imageio.ImageIO;

228 import java.io.File;

229

230 ...

231 public void captureScreen(String fileName) throws Exception {

232

233 Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

234 Rectangle screenRectangle = new Rectangle(screenSize);

235 Robot robot = new Robot();

236 BufferedImage image = robot.createScreenCapture(screenRectangle);

237 ImageIO.write(image, "png", new File(fileName));

238

239 }

240 //14. 列出文件和目录

241 File dir = new File("directoryName");

242 String[] children = dir.list();

243 if (children == null) {

244 // Either dir does not exist or is not a directory

245 } else {

246 for (int i=0; i < children.length; i++) {

247 // Get filename of file or directory

248 String filename = children[i];

249 }

250 }

251

252 // It is also possible to filter the list of returned files.

253 // This example does not return any files that start with `.’.

254 FilenameFilter filter = new FilenameFilter() {

255 public boolean accept(File dir, String name) {

256 return !name.startsWith(".");

257 }

258 };

259 children = dir.list(filter);

260

261 // The list of files can also be retrieved as File objects

262 File[] files = dir.listFiles();

263

264 // This filter only returns directories

265 FileFilter fileFilter = new FileFilter() {

266 public boolean accept(File file) {

267 return file.isDirectory();

268 }

269 };

270 files = dir.listFiles(fileFilter);

271

272 //15. 创建ZIP和JAR文件

273

274 import java.util.zip.*;

275 import java.io.*;

276

277 public class ZipIt {

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

279 if (args.length < 2) {

280 System.err.println("usage: java ZipIt Zip.zip file1 file2 file3");

281 System.exit(-1);

282 }

283 File zipFile = new File(args[0]);

284 if (zipFile.exists()) {

285 System.err.println("Zip file already exists, please try another");

286 System.exit(-2);

287 }

288 FileOutputStream fos = new FileOutputStream(zipFile);

289 ZipOutputStream zos = new ZipOutputStream(fos);

290 int bytesRead;

291 byte[] buffer = new byte[1024];

292 CRC32 crc = new CRC32();

293 for (int i=1, n=args.length; i < n; i++) {

294 String name = args[i];

295 File file = new File(name);

296 if (!file.exists()) {

297 System.err.println("Skipping: " + name);

298 continue;

299 }

300 BufferedInputStream bis = new BufferedInputStream(

301 new FileInputStream(file));

302 crc.reset();

303 while ((bytesRead = bis.read(buffer)) != -1) {

304 crc.update(buffer, 0, bytesRead);

305 }

306 bis.close();

307 // Reset to beginning of input stream

308 bis = new BufferedInputStream(

309 new FileInputStream(file));

310 ZipEntry entry = new ZipEntry(name);

311 entry.setMethod(ZipEntry.STORED);

312 entry.setCompressedSize(file.length());

313 entry.setSize(file.length());

314 entry.setCrc(crc.getValue());

315 zos.putNextEntry(entry);

316 while ((bytesRead = bis.read(buffer)) != -1) {

317 zos.write(buffer, 0, bytesRead);

318 }

319 bis.close();

320 }

321 zos.close();

322 }

323 }

324

325 //16. 解析/读取XML 文件

326 XML文件

327 <?xml version="1.0"?>

328 <students>

329 <student>

330 <name>John</name>

331 <grade>B</grade>

332 <age>12</age>

333 </student>

334 <student>

335 <name>Mary</name>

336 <grade>A</grade>

337 <age>11</age>

338 </student>

339 <student>

340 <name>Simon</name>

341 <grade>A</grade>

342 <age>18</age>

343 </student>

344 </students>

345

346 //Java代码

347 package net.viralpatel.java.xmlparser;

348

349 import java.io.File;

350 import javax.xml.parsers.DocumentBuilder;

351 import javax.xml.parsers.DocumentBuilderFactory;

352

353 import org.w3c.dom.Document;

354 import org.w3c.dom.Element;

355 import org.w3c.dom.Node;

356 import org.w3c.dom.NodeList;

357

358 public class XMLParser {

359

360 public void getAllUserNames(String fileName) {

361 try {

362 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

363 DocumentBuilder db = dbf.newDocumentBuilder();

364 File file = new File(fileName);

365 if (file.exists()) {

366 Document doc = db.parse(file);

367 Element docEle = doc.getDocumentElement();

368

369 // Print root element of the document

370 System.out.println("Root element of the document: "

371 + docEle.getNodeName());

372

373 NodeList studentList = docEle.getElementsByTagName("student");

374

375 // Print total student elements in document

376 System.out

377 .println("Total students: " + studentList.getLength());

378

379 if (studentList != null && studentList.getLength() > 0) {

380 for (int i = 0; i < studentList.getLength(); i++) {

381

382 Node node = studentList.item(i);

383

384 if (node.getNodeType() == Node.ELEMENT_NODE) {

385

386 System.out

387 .println("=====================");

388

389 Element e = (Element) node;

390 NodeList nodeList = e.getElementsByTagName("name");

391 System.out.println("Name: "

392 + nodeList.item(0).getChildNodes().item(0)

393 .getNodeValue());

394

395 nodeList = e.getElementsByTagName("grade");

396 System.out.println("Grade: "

397 + nodeList.item(0).getChildNodes().item(0)

398 .getNodeValue());

399

400 nodeList = e.getElementsByTagName("age");

401 System.out.println("Age: "

402 + nodeList.item(0).getChildNodes().item(0)

403 .getNodeValue());

404 }

405 }

406 } else {

407 System.exit(1);

408 }

409 }

410 } catch (Exception e) {

411 System.out.println(e);

412 }

413 }

414 public static void main(String[] args) {

415

416 XMLParser parser = new XMLParser();

417 parser.getAllUserNames("c:\\test.xml");

418 }

419 }

420 //17. 把 Array 转换成 Map

421 import java.util.Map;

422 import org.apache.commons.lang.ArrayUtils;

423

424 public class Main {

425

426 public static void main(String[] args) {

427 String[ ][ ] countries = { { "United States", "New York" }, { "United Kingdom", "London" },

428 { "Netherland", "Amsterdam" }, { "Japan", "Tokyo" }, { "France", "Paris" } };

429

430 Map countryCapitals = ArrayUtils.toMap(countries);

431

432 System.out.println("Capital of Japan is " + countryCapitals.get("Japan"));

433 System.out.println("Capital of France is " + countryCapitals.get("France"));

434 }

435 }

436

437 //18. 发送邮件

438 import javax.mail.*;

439 import javax.mail.internet.*;

440 import java.util.*;

441

442 public void postMail( String recipients[ ], String subject, String message , String from) throws MessagingException

443 {

444 boolean debug = false;

445

446 //Set the host smtp address

447 Properties props = new Properties();

448 props.put("mail.smtp.host", "smtp.example.com");

449

450 // create some properties and get the default Session

451 Session session = Session.getDefaultInstance(props, null);

452 session.setDebug(debug);

453

454 // create a message

455 Message msg = new MimeMessage(session);

456

457 // set the from and to address

458 InternetAddress addressFrom = new InternetAddress(from);

459 msg.setFrom(addressFrom);

460

461 InternetAddress[] addressTo = new InternetAddress[recipients.length];

462 for (int i = 0; i < recipients.length; i++)

463 {

464 addressTo[i] = new InternetAddress(recipients[i]);

465 }

466 msg.setRecipients(Message.RecipientType.TO, addressTo);

467

468 // Optional : You can also set your custom headers in the Email if you Want

469 msg.addHeader("MyHeaderName", "myHeaderValue");

470

471 // Setting the Subject and Content Type

472 msg.setSubject(subject);

473 msg.setContent(message, "text/plain");

474 Transport.send(msg);

475 }

476

477 //19. 发送代数据的HTTP 请求

478 import java.io.BufferedReader;

479 import java.io.InputStreamReader;

480 import java.net.URL;

481

482 public class Main {

483 public static void main(String[] args) {

484 try {

485 URL my_url = new URL("http://cocre.com/");

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

487 String strTemp = "";

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

489 System.out.println(strTemp);

490 }

491 } catch (Exception ex) {

492 ex.printStackTrace();

493 }

494 }

495 }

496

497 //20. 改变数组的大小

498 /**

499 * Reallocates an array with a new size, and copies the contents

500 * of the old array to the new array.

501 * @param oldArray the old array, to be reallocated.

502 * @param newSize the new array size.

503 * @return A new array with the same contents.

504 */

505 private static Object resizeArray (Object oldArray, int newSize) {

506 int oldSize = java.lang.reflect.Array.getLength(oldArray);

507 Class elementType = oldArray.getClass().getComponentType();

508 Object newArray = java.lang.reflect.Array.newInstance(

509 elementType,newSize);

510 int preserveLength = Math.min(oldSize,newSize);

511 if (preserveLength > 0)

512 System.arraycopy (oldArray,0,newArray,0,preserveLength);

513 return newArray;

514 }

515

516 // Test routine for resizeArray().

517 public static void main (String[] args) {

518 int[] a = {1,2,3};

519 a = (int[])resizeArray(a,5);

520 a[3] = 4;

521 a[4] = 5;

522 for (int i=0; i<a.length; i++)

523 System.out.println (a[i]);

524 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值