java常用commons包

commons.lang包

lang3相对于lang来说完全支持java5的特性,废除了一些旧的API。

共包含了17个实用的类:

ArrayUtils – 用于对数组的操作,如添加、查找、删除、子数组、倒序、元素类型转换等;

BitField – 用于操作位元,提供了一些方便而安全的方法;

BooleanUtils – 用于操作和转换boolean或者Boolean及相应的数组;

CharEncoding – 包含了Java环境支持的字符编码,提供是否支持某种编码的判断;

CharRange – 用于设定字符范围并做相应检查;

CharSet – 用于设定一组字符作为范围并做相应检查;

CharSetUtils – 用于操作CharSet;

CharUtils – 用于操作char值和Character对象;

ClassUtils – 用于对Java类的操作,不使用反射;

ObjectUtils – 用于操作Java对象,提供null安全的访问和其他一些功能;

RandomStringUtils – 用于生成随机的字符串;

SerializationUtils – 用于处理对象序列化,提供比一般Java序列化更高级的处理能力;

StringEscapeUtils – 用于正确处理转义字符,产生正确的Java、JavaScript、HTML、XML和SQL代码;

StringUtils – 处理String的核心类,提供了相当多的功能;

SystemUtils – 在java.lang.System基础上提供更方便的访问,如用户路径、Java版本、时区、操作系统等判断;

Validate – 提供验证的操作,有点类似assert断言;

WordUtils – 用于处理单词大小写、换行等。

Common IO

帮助开发IO功能, 它包括6个主要部分

Utility classes – 工具类,包括一些静态方法来执行常用任务
Input – 输入,InputStream 和 Reader 实现
Output – 输出,OutputStream 和 Writer 实现
Filters – 过滤器,多种文件过滤器实现(定义了 IOFileFilter接口,同时继承了 FileFilter 和 FilenameFilter 接口)
Comparators – 比较器,用于文件比较的多种java.util.Comparatot实现
File Monitor–文件监控

工具类

IOUtils 包含一些工具类,用于处理读,写和拷贝,这些方法基于 InputStream, OutputStream, Reader 和 Writer工作.

FileUtils 包含一些工具类,它们基于File对象工作,包括读,写,拷贝和比较文件

FilenameUtils包含一些工具类,它们基于文件名工作而不是File对象。这个类旨在 在Unix和Windows环境下保持一致,帮助在两个环境下过渡(如从开发环境到生成环境)

FileSystemUtils包含一些工具类,基于文件系统访问功能不被JDK支持。目前,只有一个方法就是得到驱动器空余空间。注意这使用命令行而不是 native code。

EndianUtils 包含静态方法来交换Java基本类型和流的字节序

SwappedDataInputStream实现了DataInput接口。可以从文件中读取非本地字节序。

commons-email

apache提供的一个开源的API,是对javamail的封装

示例:

package com.zzs.commons.mail;
import java.net.MalformedURLException;
import java.net.URL;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.ImageHtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;
import org.apache.commons.mail.resolver.DataSourceUrlResolver;

import org.junit.Test;

/**
 * 使用Commons-Email发送邮件
 */
public class CommonsEmailTest {
    /**

     * 发送内容为简单文本的邮件

     */

    @Test

    public void sendSimpleTextEmail() throws EmailException {

       // 发送简单的email,不能添加附件

       Email email = new SimpleEmail();

       // 邮件服务器域名

       email.setHostName("smtp.sohu.com");

       // 邮件服务器smtp协议的SSL端口

       email.setSmtpPort(465);

       // 用户名和密码为邮箱的账号和密码

       email.setAuthenticator(new DefaultAuthenticator("用户名", "密码"));

       // SSL安全连接

       email.setSSLOnConnect(true);

       // 设置字符编码方式

       email.setCharset("UTF-8");

 

       // 发件人

       email.setFrom("xxx@sohu.com");

       // 收件人

       email.addTo("xxx@163.com");

//     email.addTo(String... emails);//发送给多人

//     // 抄送

//     email.addCc("xxx");

//     // 密送

//     email.addBcc("xxx");

       // 邮件主题

       email.setSubject("测试邮件");

       // 邮件正文

       email.setMsg("This is a test mail from java application. 哈哈");

       // 发送

       email.send();

    }

 

    /**

     * 发送包含附件的邮件(附件为本地资源)

     */

    @Test

    public void sendEmailsWithAttachments() throws EmailException {

       // 附件类,可以添加本地资源,也可以指定网络上资源,在发送时自动将网络上资源下载发送

       EmailAttachment attachment = new EmailAttachment();

       // 本地路径

       attachment.setPath("E:\\test\\data\\mail\\123.jpg");

       // 定义附件

       attachment.setDisposition(EmailAttachment.ATTACHMENT);

       // 附件描述

       attachment.setDescription("Picture");

       // 附件名(为中文时要处理编码)

       attachment.setName("pic.jpg");

 

       // 文本邮件,可以添加多个附件

       MultiPartEmail email = new MultiPartEmail();

 

       email.setHostName("smtp.sohu.com");

       email.setAuthentication("用户名", "密码");

       email.setFrom("xxx@sohu.com");

       email.addTo("xxx@163.com");

 

       email.setSubject("测试邮件");

       email.setMsg("Here is a test mail.");

       email.attach(attachment);

 

       email.send();

    }

 

    /**

     * 发送包含附件的邮件(附件为在线资源)

     */

    @Test

    public void sendEmailsWithOnlineAttachments() throws EmailException, MalformedURLException {

       EmailAttachment attachment = new EmailAttachment();

       attachment.setURL(new URL("https://www.baidu.com/img/bd_logo1.png"));

       attachment.setDisposition(EmailAttachment.ATTACHMENT);

       attachment.setDescription("Baidu logo");

       attachment.setName("Baidu.png");

 

       MultiPartEmail email = new MultiPartEmail();

       email.setHostName("smtp.sohu.com");

       email.setAuthentication("用户名", "密码");

       email.setFrom("xxx@sohu.com");

       email.addTo("xxx@163.com");

 

       email.setSubject("测试邮件");

       email.setMsg("Here is Baidu's logo.");

       email.attach(attachment);

 

       email.send();

    }

 

    /**

     * 发送内容为HTML格式的邮件,内嵌图片

     */

    @Test

    public void sendHTMLFormattedEmail() throws EmailException, MalformedURLException {

       // HTML格式邮件,同时具有MultiPartEmail类所有“功能”

       HtmlEmail email = new HtmlEmail();

 

       email.setHostName("smtp.sohu.com");

       email.setAuthentication("用户名", "密码");

       email.setFrom("xxx@sohu.com");

       email.addTo("xxx@163.com");

 

       email.setSubject("测试邮件");

 

       // 图片的网络地址

       URL url = new URL("https://www.baidu.com/img/bd_logo1.png");

       String cid = email.embed(url, "Baidu logo");

 

       // 将图片引入html标签

       email.setHtmlMsg("<html>The Baidu logo <br/><img src='cid:" + cid + "'></html>");

 

       email.send();

    }

 

    /**

     * 发送内容为HTML格式的邮件,内嵌图片

     */

    @Test

    public void sendHTMLFormattedEmailWithEmbeddedImages() throws MalformedURLException, EmailException {

 

       // ImageHtmlEmail类通常是用来发送Html格式并内嵌图片的邮件,它拥有所有HtmlEmail的功能,但是图片主要是以html内嵌的为主

       ImageHtmlEmail email = new ImageHtmlEmail();

 

       email.setHostName("smtp.sohu.com");

       email.setSmtpPort(456);

       email.setSSLOnConnect(true);

       email.setAuthentication("用户名", "密码");

       email.setFrom("xxx@sohu.com");

       email.addTo("xxx@163.com");

       email.setCharset("UTF-8");

 

       email.setSubject("测试邮件");

       URL url = new URL("https://www.baidu.com");

       // 这样HTML内容里如果有此路径下的图片会直接内联

       email.setDataSourceResolver(new DataSourceUrlResolver(url));

       String htmlEmail = "这里<img src='https://www.baidu.com/img/bd_logo1.png'>有图片。";

       email.setHtmlMsg(htmlEmail);

 

       email.send();

    }

}

commons-codec

Apache开源组织提供的用于摘要运算、编码的包。

示例代码:

package com.gujin.codec;
 
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.codec.net.URLCodec;
import org.junit.Test;
 
public class CodecTest
{
   @Test
   public void testBase64()
   {
      System.out.println("==============Base64================");
      byte[] data = "jianggujin".getBytes();
      Base64 base64 = new Base64();
      String encode = base64.encodeAsString(data);
      System.out.println(encode);
      System.out.println(new String(base64.decode(encode)));
   }
 
   @Test
   public void testMD5()
   {
      System.out.println("==============MD5================");
      String result = DigestUtils.md5Hex("jianggujin");
      System.out.println(result);
   }
 
   @Test
   public void testURLCodec() throws Exception
   {
      System.out.println("==============URLCodec================");
      URLCodec codec = new URLCodec();
      String data = "蒋固金";
      String encode = codec.encode(data, "UTF-8");
      System.out.println(encode);
      System.out.println(codec.decode(encode, "UTF-8"));
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值