




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
組件功能介紹BeanUtils提供了對于JavaBean進行各種操作,克隆對象,屬性等等.BetwixtXML與Java對象之間相互轉換.Codec處理常用的編碼方法的工具類包
例如DES、SHA1、MD5、Base64等.Collectionsjava集合框架操作.Compressjava提供文件打包壓縮類庫.Configuration一個java應用程序的配置管理類庫.DBCP提供數據庫連接池服務.DbUtils提供對jdbc
的操作封裝來簡化數據查詢和記錄讀取操作.Emailjava發送郵件對javamail的封裝.FileUpload提供文件上傳功能.HttpClien提供HTTP客戶端與服務器的各種通訊操作.現在已改成HttpComponentsIOio工具的封裝.LangJava基本對象方法的工具類包如:StringUtils,ArrayUtils等等.Logging提供的是一個Java的日志接口.Validator提供了客戶端和服務器端的數據驗證框架.1、BeanUtils
提供了對于JavaBean進行各種操作,比如對象,屬性復制等等。[java]
\o"viewplain"viewplain\o"copy"copy//1、
克隆對象
//
新創建一個普通Java
Bean,用來作為被克隆的對象
public
class
Person
{
private
String
name
=
"";
private
String
=
"";
private
int
age;
//省略
set,get方法
}
//
再創建一個Test類,其中在main方法中代碼如下:
import
java.lang.reflect.InvocationTargetException;
import
java.util.HashMap;
import
java.util.Map;
import
mons.beanutils.BeanUtils;
import
mons.beanutils.ConvertUtils;
public
class
Test
{
/**
*
@param
args
*/
public
static
void
main(String[]
args)
{
Person
person
=
new
Person();
person.setName("tom");
person.setAge(21);
try
{
//克隆
Person
person2
=
(Person)BeanUtils.cloneBean(person);
System.out.println(person2.getName()+">>"+person2.getAge());
}
catch
(IllegalAccessException
e)
{
e.printStackTrace();
}
catch
(InstantiationException
e)
{
e.printStackTrace();
}
catch
(InvocationTargetException
e)
{
e.printStackTrace();
}
catch
(NoSuchMethodException
e)
{
e.printStackTrace();
}
}
}
//
原理也是通過Java的反射機制來做的。
//
2、
將一個Map對象轉化為一個Bean
//
這個Map對象的key必須與Bean的屬性相對應。
Map
map
=
new
HashMap();
map.put("name","tom");
map.put("email","tom@");
map.put("age","21");
//將map轉化為一個Person對象
Person
person
=
new
Person();
BeanUtils.populate(person,map);
//
通過上面的一行代碼,此時person的屬性就已經具有了上面所賦的值了。
//
將一個Bean轉化為一個Map對象了,如下:
Map
map
=
BeanUtils.describe(person)
2、Betwixt
XML與Java對象之間相互轉換。[java]
\o"viewplain"viewplain\o"copy"copy//1、
將JavaBean轉為XML內容
//
新創建一個Person類
public
class
Person{
private
String
name;
private
int
age;
/**
Need
to
allow
bean
to
be
created
via
reflection
*/
public
PersonBean()
{
}
public
PersonBean(String
name,
int
age)
{
=
name;
this.age
=
age;
}
//省略set,
get方法
public
String
toString()
{
return
"PersonBean[name='"
+
name
+
"',age='"
+
age
+
"']";
}
}
//再創建一個WriteApp類:
import
java.io.StringWriter;
import
mons.betwixt.io.BeanWriter;
public
class
WriteApp
{
/**
*
創建一個例子Bean,并將它轉化為XML.
*/
public
static
final
void
main(String
[]
args)
throws
Exception
{
//
先創建一個StringWriter,我們將把它寫入為一個字符串
StringWriter
outputWriter
=
new
StringWriter();
//
Betwixt在這里僅僅是將Bean寫入為一個片斷
//
所以如果要想完整的XML內容,我們應該寫入頭格式
outputWriter.write(“<?xml
version=’1.0′
encoding=’UTF-8′
?>\n”);
//
創建一個BeanWriter,其將寫入到我們預備的stream中
BeanWriter
beanWriter
=
new
BeanWriter(outputWriter);
//
配置betwixt
//
更多詳情請參考java
docs
或最新的文檔
beanWriter.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
beanWriter.getBindingConfiguration().setMapIDs(false);
beanWriter.enablePrettyPrint();
//
如果這個地方不傳入XML的根節點名,Betwixt將自己猜測是什么
//
但是讓我們將例子Bean名作為根節點吧
beanWriter.write(“person”,
new
PersonBean(“John
Smith”,
21));
//輸出結果
System.out.println(outputWriter.toString());
//
Betwixt寫的是片斷而不是一個文檔,所以不要自動的關閉掉writers或者streams,
//但這里僅僅是一個例子,不會做更多事情,所以可以關掉
outputWriter.close();
}
}
//2、
將XML轉化為JavaBean
import
java.io.StringReader;
import
mons.betwixt.io.BeanReader;
public
class
ReadApp
{
public
static
final
void
main(String
args[])
throws
Exception{
//
先創建一個XML,由于這里僅是作為例子,所以我們硬編碼了一段XML內容
StringReader
xmlReader
=
new
StringReader(
"<?xml
version=’1.0′
encoding=’UTF-8′
?>
<person><age>25</age><name>James
Smith</name></person>");
//創建BeanReader
BeanReader
beanReader
=
new
BeanReader();
//配置reader
beanReader.getXMLIntrospector().getConfiguration().setAttributesForPrimitives(false);
beanReader.getBindingConfiguration().setMapIDs(false);
//注冊beans,以便betwixt知道XML將要被轉化為一個什么Bean
beanReader.registerBeanClass("person",
PersonBean.class);
//現在我們對XML進行解析
PersonBean
person
=
(PersonBean)
beanReader.parse(xmlReader);
//輸出結果
System.out.println(person);
}
}
3、Codec
提供了一些公共的編解碼實現,比如Base64,Hex,MD5,PhoneticandURLs等等。[java]
\o"viewplain"viewplain\o"copy"copy//Base64編解碼
private
static
String
encodeTest(String
str){
Base64
base64
=
new
Base64();
try
{
str
=
base64.encodeToString(str.getBytes("UTF-8"));
}
catch
(UnsupportedEncodingException
e)
{
e.printStackTrace();
}
System.out.println("Base64
編碼后:"+str);
return
str;
}
private
static
void
decodeTest(String
str){
Base64
base64
=
new
Base64();
//str
=
Arrays.toString(Base64.decodeBase64(str));
str
=
new
String(Base64.decodeBase64(str));
System.out.println("Base64
解碼后:"+str);
}
4、Collections
對java.util的擴展封裝,處理數據還是挺靈活的。mons.collections–CommonsCollections自定義的一組公用的接口和工具類mons.collections.bag–
實現Bag接口的一組類mons.collections.bidimap–
實現BidiMap系列接口的一組類mons.collections.buffer–
實現Buffer接口的一組類mons.collections.collection–
實現java.util.Collection接口的一組類parators–
實現java.util.Comparator接口的一組類mons.collections.functors–CommonsCollections自定義的一組功能類mons.collections.iterators–
實現java.util.Iterator接口的一組類mons.collections.keyvalue–
實現集合和鍵/值映射相關的一組類mons.collections.list–
實現java.util.List接口的一組類mons.collections.map–
實現Map系列接口的一組類mons.collections.set–
實現Set系列接口的一組類[java]
\o"viewplain"viewplain\o"copy"copy/**
*
得到集合里按順序存放的key之后的某一Key
*/
OrderedMap
map
=
new
LinkedMap();
map.put("FIVE",
"5");
map.put("SIX",
"6");
map.put("SEVEN",
"7");
map.firstKey();
//
returns
"FIVE"
map.nextKey("FIVE");
//
returns
"SIX"
map.nextKey("SIX");
//
returns
"SEVEN"
/**
*
通過key得到value
*
通過value得到key
*
將map里的key和value對調
*/
BidiMap
bidi
=
new
TreeBidiMap();
bidi.put("SIX",
"6");
bidi.get("SIX");
//
returns
"6"
bidi.getKey("6");
//
returns
"SIX"
//
bidi.removeValue("6");
//
removes
the
mapping
BidiMap
inverse
=
bidi.inverseBidiMap();
//
returns
a
map
with
keys
and
values
swapped
System.out.println(inverse);
/**
*
得到兩個集合中相同的元素
*/
List<String>
list1
=
new
ArrayList<String>();
list1.add("1");
list1.add("2");
list1.add("3");
List<String>
list2
=
new
ArrayList<String>();
list2.add("2");
list2.add("3");
list2.add("5");
Collection
c
=
CollectionUtils.retainAll(list1,
list2);
System.out.println(c);
5、Compress
commonscompress中的打包、壓縮類庫。
[java]
\o"viewplain"viewplain\o"copy"copy//創建壓縮對象
ZipArchiveEntry
entry
=
new
ZipArchiveEntry("CompressTest");
//要壓縮的文件
File
f=new
File("e:\\test.pdf");
FileInputStream
fis=new
FileInputStream(f);
//輸出的對象
壓縮的文件
ZipArchiveOutputStream
zipOutput=new
ZipArchiveOutputStream(new
File("e:\\test.zip"));
zipOutput.putArchiveEntry(entry);
int
i=0,j;
while((j=fis.read())
!=
-1)
{
zipOutput.write(j);
i++;
System.out.println(i);
}
zipOutput.closeArchiveEntry();
zipOutput.close();
fis.close();
6、Configuration
用來幫助處理配置文件的,支持很多種存儲方式。
1.Propertiesfiles
2.XMLdocuments
3.Propertylistfiles(.plist)
4.JNDI
5.JDBCDatasource
6.Systemproperties
7.Appletparameters
8.Servletparameters[java]
\o"viewplain"viewplain\o"copy"copy//舉一個Properties的簡單例子
#
perties
colors.background
=
#FFFFFF
colors.foreground
=
#000080
window.width
=
500
window.height
=
300
PropertiesConfiguration
config
=
new
PropertiesConfiguration("perties");
config.setProperty("colors.background",
"#000000);
config.save();
config.save("perties);//save
a
copy
Integer
integer
=
config.getInteger("window.width");
7、DBCP
(DatabaseConnectionPool)是一個依賴Jakartacommons-pool對象池機制的數據庫連接池,Tomcat的數據源使用的就是DBCP。[java]
\o"viewplain"viewplain\o"copy"copyimport
javax.sql.DataSource;
import
java.sql.Connection;
import
java.sql.Statement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
mons.pool.ObjectPool;
import
mons.pool.impl.GenericObjectPool;
import
mons.dbcp.ConnectionFactory;
import
mons.dbcp.PoolingDataSource;
import
mons.dbcp.PoolableConnectionFactory;
import
mons.dbcp.DriverManagerConnectionFactory;
//官方示例
public
class
PoolingDataSources
{
public
static
void
main(String[]
args)
{
System.out.println("加載jdbc驅動");
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch
(ClassNotFoundException
e)
{
e.printStackTrace();
}
System.out.println("Done.");
//
System.out.println("設置數據源");
DataSource
dataSource
=
setupDataSource("jdbc:oracle:thin:@localhost:1521:test");
System.out.println("Done.");
//
Connection
conn
=
null;
Statement
stmt
=
null;
ResultSet
rset
=
null;
try
{
System.out.println("Creating
connection.");
conn
=
dataSource.getConnection();
System.out.println("Creating
statement.");
stmt
=
conn.createStatement();
System.out.println("Executing
statement.");
rset
=
stmt.executeQuery("select
*
from
person");
System.out.println("Results:");
int
numcols
=
rset.getMetaData().getColumnCount();
while(rset.next())
{
for(int
i=0;i<=numcols;i++)
{
System.out.print("\t"
+
rset.getString(i));
}
System.out.println("");
}
}
catch(SQLException
e)
{
e.printStackTrace();
}
finally
{
try
{
if
(rset
!=
null)
rset.close();
}
catch(Exception
e)
{
}
try
{
if
(stmt
!=
null)
stmt.close();
}
catch(Exception
e)
{
}
try
{
if
(conn
!=
null)
conn.close();
}
catch(Exception
e)
{
}
}
}
public
static
DataSource
setupDataSource(String
connectURI)
{
//設置連接地址
ConnectionFactory
connectionFactory
=
new
DriverManagerConnectionFactory(
connectURI,
null);
//
創建連接工廠
PoolableConnectionFactory
poolableConnectionFactory
=
new
PoolableConnectionFactory(
connectionFactory);
//獲取GenericObjectPool
連接的實例
ObjectPool
connectionPool
=
new
GenericObjectPool(
poolableConnectionFactory);
//
創建
PoolingDriver
PoolingDataSource
dataSource
=
new
PoolingDataSource(connectionPool);
return
dataSource;
}
}
8、DbUtils
Apache組織提供的一個資源JDBC工具類庫,它是對JDBC的簡單封裝,對傳統操作數據庫的類進行二次封裝,可以把結果集轉化成List。,同時也不影響程序的性能。DbUtils類:啟動類
ResultSetHandler接口:轉換類型接口
MapListHandler類:實現類,把記錄轉化成List
BeanListHandler類:實現類,把記錄轉化成List,使記錄為JavaBean類型的對象
QreryRunner類:執行SQL語句的類[java]
\o"viewplain"viewplain\o"copy"copyimport
mons.dbutils.DbUtils;
import
mons.dbutils.QueryRunner;
import
mons.dbutils.handlers.BeanListHandler;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
import
java.util.List;
//轉換成list
public
class
BeanLists
{
public
static
void
main(String[]
args)
{
Connection
conn
=
null;
String
url
=
"jdbc:mysql://localhost:3306/ptest";
String
jdbcDriver
=
"com.mysql.jdbc.Driver";
String
user
=
"root";
String
password
=
"ptest";
DbUtils.loadDriver(jdbcDriver);
try
{
conn
=
DriverManager.getConnection(url,
user,
password);
QueryRunner
qr
=
new
QueryRunner();
List
results
=
(List)
qr.query(conn,
"select
id,name
from
person",
new
BeanListHandler(Person.class));
for
(int
i
=
0;
i
<
results.size();
i++)
{
Person
p
=
(Person)
results.get(i);
System.out.println("id:"
+
p.getId()
+
",name:"
+
p.getName());
}
}
catch
(SQLException
e)
{
e.printStackTrace();
}
finally
{
DbUtils.closeQuietly(conn);
}
}
}
public
class
Person{
private
Integer
id;
private
String
name;
//省略set,
get方法
}
import
mons.dbutils.DbUtils;
import
mons.dbutils.QueryRunner;
import
mons.dbutils.handlers.MapListHandler;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
import
java.util.List;
import
java.util.Map;
//轉換成map
public
class
MapLists
{
public
static
void
main(String[]
args)
{
Connection
conn
=
null;
String
url
=
"jdbc:mysql://localhost:3306/ptest";
String
jdbcDriver
=
"com.mysql.jdbc.Driver";
String
user
=
"root";
String
password
=
"ptest";
DbUtils.loadDriver(jdbcDriver);
try
{
conn
=
DriverManager.getConnection(url,
user,
password);
QueryRunner
qr
=
new
QueryRunner();
List
results
=
(List)
qr.query(conn,
"select
id,name
from
person",
new
MapListHandler());
for
(int
i
=
0;
i
<
results.size();
i++)
{
Map
map
=
(Map)
results.get(i);
System.out.println("id:"
+
map.get("id")
+
",name:"
+
map.get("name"));
}
}
catch
(SQLException
e)
{
e.printStackTrace();
}
finally
{
DbUtils.closeQuietly(conn);
}
}
}
9、Email
提供的一個開源的API,是對javamail的封裝。[java]
\o"viewplain"viewplain\o"copy"copy//用commons
email發送郵件
public
static
void
main(String
args[]){
=
new
SimpleEmail();
email.setHostName("");
email.setSmtpPort(465);
email.setAuthenticator(new
DefaultAuthenticator("username",
"password"));
email.setSSLOnConnect(true);
email.setFrom("user@");
email.setSubject("TestMail");
email.setMsg("This
is
a
test
...
:-)");
email.addTo("foo@");
email.send();
}
10、FileUpload
javaweb文件上傳功能。[java]
\o"viewplain"viewplain\o"copy"copy//官方示例:
//*
檢查請求是否含有上傳文件
//
Check
that
we
have
a
file
upload
request
boolean
isMultipart
=
ServletFileUpload.isMultipartContent(request);
//現在我們得到了items的列表
//如果你的應用近于最簡單的情況,上面的處理就夠了。但我們有時候還是需要更多的控制。
//下面提供了幾種控制選擇:
//
Create
a
factory
for
disk-based
file
items
DiskFileItemFactory
factory
=
new
DiskFileItemFactory();
//
Set
factory
constraints
factory.setSizeThreshold(yourMaxMemorySize);
factory.setRepository(yourTempDirectory);
//
Create
a
new
file
upload
handler
ServletFileUpload
upload
=
new
ServletFileUpload(factory);
//
設置最大上傳大小
upload.setSizeMax(yourMaxRequestSize);
//
解析所有請求
List
/*
FileItem
*/
items
=
upload.parseRequest(request);
//
Create
a
factory
for
disk-based
file
items
DiskFileItemFactory
factory
=
new
DiskFileItemFactory(
yourMaxMemorySize,
yourTempDirectory);
//一旦解析完成,你需要進一步處理item的列表。
//
Process
the
uploaded
items
Iterator
iter
=
items.iterator();
while
(iter.hasNext())
{
FileItem
item
=
(FileItem)
iter.next();
if
(item.isFormField())
{
processFormField(item);
}
else
{
processUploadedFile(item);
}
}
//區分數據是否為簡單的表單數據,如果是簡單的數據:
//
processFormField
if
(item.isFormField())
{
String
name
=
item.getFieldName();
String
value
=
item.getString();
//...省略步驟
}
//如果是提交的文件:
//
processUploadedFile
if
(!item.isFormField())
{
String
fieldName
=
item.getFieldName();
String
fileName
=
item.getName();
String
contentType
=
item.getContentType();
boolean
isInMemory
=
item.isInMemory();
long
sizeInBytes
=
item.getSize();
//...省略步驟
}
//對于這些item,我們通常要把它們寫入文件,或轉為一個流
//
Process
a
file
upload
if
(writeToFile)
{
File
uploadedFile
=
new
File(...);
item.write(uploadedFile);
}
else
{
InputStream
uploadedStream
=
item.getInputStream();
//...省略步驟
uploadedStream.close();
}
//或轉為字節數組保存在內存中:
//
Process
a
file
upload
in
memory
byte[]
data
=
item.get();
//...省略步驟
//如果這個文件真的很大,你可能會希望向用戶報告到底傳了多少到服務端,讓用戶了解上傳的過程
//Create
a
progress
listener
ProgressListener
progressListener
=
new
ProgressListener(){
public
void
update(long
pBytesRead,
long
pContentLength,
int
pItems)
{
System.out.println("We
are
currently
reading
item
"
+
pItems);
if
(pContentLength
==
-1)
{
System.out.println("So
far,
"
+
pBytesRead
+
"
bytes
have
been
read.");
}
else
{
System.out.println("So
far,
"
+
pBytesRead
+
"
of
"
+
pContentLength
+
"
bytes
have
been
read.");
}
}
};
upload.setProgressListener(progressListener);
11、HttpClient
基于HttpCore實現的一個HTTP/1.1兼容的HTTP客戶端,它提供了一系列可重用的客戶端身份驗證、HTTP狀態保持、HTTP連接管理module。[java]
\o"viewplain"viewplain\o"copy"copy//GET方法
import
java.io.IOException;
import
mons.httpclient.*;
import
mons.httpclient.methods.GetMethod;
import
mons.httpclient.params.HttpMethodParams;
public
class
GetSample{
public
static
void
main(String[]
args)
{
//
構造HttpClient的實例
HttpClient
httpClient
=
new
HttpClient();
//
創建GET方法的實例
GetMethod
getMethod
=
new
GetMethod("");
//
使用系統提供的默認的恢復策略
getMethod.getParams().setParameter(HttpMethodParams.RETRY_HANDLER,
new
DefaultHttpMethodRetryHandler());
try
{
//
執行getMethod
int
statusCode
=
httpClient.executeMethod(getMethod);
if
(statusCode
!=
HttpStatus.SC_OK)
{
System.err.println("Method
failed:
"
+
getMethod.getStatusLine());
}
//
讀取內容
byte[]
responseBody
=
getMethod.getResponseBody();
//
處理內容
System.out.println(new
String(responseBody));
}
catch
(HttpException
e)
{
//
發生致命的異常,可能是協議不對或者返回的內容有問題
System.out.println("Please
check
your
provided
http
address!");
e.printStackTrace();
}
catch
(IOException
e)
{
//
發生網絡異常
e.printStackTrace();
}
finally
{
//
釋放連接
getMethod.releaseConnection();
}
}
}
//POST方法
import
java.io.IOException;
import
mons.httpclient.*;
import
mons.httpclient.methods.PostMethod;
import
mons.httpclient.params.HttpMethodParams;
public
class
PostSample{
public
static
void
main(String[]
args)
{
//
構造HttpClient的實例
HttpClient
httpClient
=
new
HttpClient();
//
創建POST方法的實例
String
url
=
"/";
PostMethod
postMethod
=
new
PostMethod(url);
//
填入各個表單域的值
NameValuePair[]
data
=
{
new
NameValuePair("id",
"youUserName"),
new
NameValuePair("passwd",
"yourPwd")
};
//
將表單的值放入postMethod中
postMethod.setRequestBody(data);
//
執行postMethod
int
statusCode
=
httpClient.executeMethod(postMethod);
//
HttpClient對于要求接受后繼服務的請求,象POST和PUT等不能自動處理轉發
//
301或者302
if
(statusCode
==
HttpStatus.SC_MOVED_PERMANENTLY
||
statusCode
==
HttpStatus.SC_MOVED_TEMPORARILY)
{
//
從頭中取出轉向的地址
Header
locationHeader
=
postMethod.getResponseHeader("location");
String
location
=
null;
if
(locationHeader
!=
null)
{
location
=
locationHeader.getValue();
System.out.println("The
page
was
redirected
to:"
+
location);
}
else
{
System.err.println("Location
field
value
is
null.");
}
return;
}
}
}
12、IO
對java.io的擴展操作文件非常方便。[java]
\o"viewplain"viewplain\o"copy"copy//1.讀取Stream
//標準代碼:
InputStream
in
=
new
URL(
""
).openStream();
try
{
InputStreamReader
inR
=
new
InputStreamReader(
in
);
BufferedReader
buf
=
new
BufferedReader(
inR
);
String
line;
while
(
(
line
=
buf.readLine()
)
!=
null
)
{
System.out.println(
line
);
}
}
finally
{
in.close();
}
//使用IOUtils
InputStream
in
=
new
URL(
""
).openStream();
try
{
System.out.println(
IOUtils.toString(
in
)
);
}
finally
{
IOUtils.closeQuietly(in);
}
//2.讀取文件
File
file
=
new
File("/commons/io/perties");
List
lines
=
FileUtils.readLines(file,
"UTF-8");
//3.察看剩余空間
long
freeSpace
=
FileSystemUtils.freeSpace("C:/");
13、Lang
主要是一些公共的工具集合,比如對字符、數組的操作等等。[java]
\o"viewplain"viewplain\o"copy"copy//
1
合并兩個數組:
mons.lang.
ArrayUtils
//
有時我們需要將兩個數組合并為一個數組,用ArrayUtils就非常方便,示例如下:
private
static
void
testArr()
{
String[]
s1
=
new
String[]
{
"1",
"2",
"3"
};
String[]
s2
=
new
String[]
{
"a",
"b",
"c"
};
String[]
s
=
(String[])
ArrayUtils.addAll(s1,
s2);
for
(int
i
=
0;
i
<
s.length;
i++)
{
System.out.println(s[i]);
}
String
str
=
ArrayUtils.toString(s);
str
=
str.substring(1,
str.length()
-
1);
System.out.println(str
+
">>"
+
str.length());
}
//2
截取從from開始字符串
StringUtils.substringAfter("SELECT
*
FROM
PERSON
",
"from");
//3
判斷該字符串是不是為數字(0~9)組成,如果是,返回true
但該方法不識別有小數點和
請注意。
StringUtils.isNumeric("454534");
//返回true
//4.取得類名
System.out.println(ClassUtils.getShortClassName(Test.class));
//取得其包名
System.out.println(ClassUtils.getPackageName(Test.class));
//5.NumberUtils
System.out.println(NumberUtils.stringToInt("6"));
//6.五位的隨機字母和數字
System.out.println(RandomStringUtils.randomAlphanumeric(5));
//7.StringEscapeUtils
System.out.println(StringEscapeUtils.escapeHtml("<html>"));
//輸出結果為<html>
System.out.println(StringEscapeUtils.escapeJava("String"));
//8.StringUtils,判斷是否是空格字符
System.out.println(StringUtils.isBlank("
"));
//將數組中的內容以,分隔
System.out.println(StringUtils.join(test,","));
//在右邊加下字符,使之總長度為6
System.out.println(StringUtils.rightPad("abc",
6,
'T'));
//首字母大寫
System.out.println(StringUtils.capitalize("abc"));
//Deletes
all
whitespaces
from
a
String
刪除所有空格
System.out.println(
StringUtils.deleteWhitespace("
ab
c
"));
//判斷是否包含這個字符
System.out.println(
StringUtils.contains("abc",
"ba"));
//表示左邊兩個字符
System.out.println(
StringUtils.left("abc",
2));
System.out.println(NumberUtils.stringToInt("33"));
14、Logging
提供的是一個Java的日志接口,同時兼顧輕量級和不依賴于具體的日志實現工具。[java]
\o"viewplain"viewplain\o"copy"copyimport
mons.logging.Log;
import
mons.logging.LogFactory;
public
class
CommonLogTest
{
private
static
Log
log
=
LogFactory.getLog(CommonLogTest.class);
//日志打印
public
static
void
main(String[]
args)
{
log.error("ERROR");
log.debug("DEBUG");
log.warn("WARN");
("INF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國船舶動力系統行業市場發展監測及投資方向研究報告
- 激光癌癥診斷儀項目投資可行性研究分析報告(2024-2030版)
- 2023-2029年中國粗糧餅干行業發展監測及投資前景展望報告
- 2025年 鍋爐水處理作業G3證考試練習題附答案
- 2025年中國無花果行業市場調研分析及投資戰略咨詢報告
- 2025年 扶風縣職業教育中心招聘考試筆試試題附答案
- 2023-2028年中國制造執行系統行業發展前景預測及投資戰略咨詢報告
- 2025年中國導爪行業市場發展前景及發展趨勢與投資戰略研究報告
- 紅薯系列產品加工項目可行性研究報告
- 中國高端禮品酒行業市場全景分析及發展趨勢預測報告
- 橡膠生產企業設備設施及作業活動風險分級管控清單
- 連帶責任擔保借條(四篇)
- 2023年計算機圖形學試題級考試A卷
- GB/T 42104-2022游樂園安全安全管理體系
- 八年級下冊人教版英語單項選擇(50題)練習題含答案含答案
- 河北省大眾滑雪等級標準(試行)
- GB/T 3863-2008工業氧
- GB/T 31125-2014膠粘帶初粘性試驗方法環形法
- 班主任班級管理(課堂)課件
- 學院輔導答疑情況記錄表
- 31個級地區國家重點監控企業自行監測信息公開平臺及污染源監督性監測信息公開網址
評論
0/150
提交評論