又由于java中的字符是以16位存储的,因此大概需要4GB的内存才能存储最大长度的字符串。所以,发送xml批量的需要在oracle数据库中用clob类型,而在java 端可以用String;
2. ResultSet rs = st.executeQuery("select CLOBATTR from TESTCLOB where ID=1")
if (rs.next())
{
java.sql.Clob clob = rs.getClob("CLOBATTR")
inStream = clob.getCharacterStream()
char[] c = new char[(int) clob.length()]
inStream.read(c)
//data是读出并需要返回的数据,类型是String
data = new String(c)
inStream.close()
}
inStream.close()
con.commit()
首先打开my eclipse新建一个java项目,名字随意起
名字起好后,点击完成
右键点击项目名称,新建,类
类的名字叫TextLength
包的名字叫 com.zf.s2,点击完成 判断是否是汉字
public static int getChineseCount(String s) throws Exception{//获得汉字的长度char c
int chineseCount=0
if(!"".equals("")){//判断是否为空
s=new String(s.getBytes(),"GBK") //进行统一编码
}
for(int i=0i<s.length()i++){//for循环
c=s.charAt(i) //获得字符串中的每个字符
if(isChineseChar(c)){//调用方法进行判断是否是汉字
chineseCount++ //等同于chineseCount=chineseCount+1
}
}
return chineseCount //返回汉字个数
}
获得字母、数字、空格的个数
public static String getStringInfo(String s){
char ch
int character=0,blank=0,number=0
for(int i=0i <s.length()i++) //for循环
{
ch=s.charAt(i)
if((ch>='a'&&ch <='z')||(ch>='A'&&ch <='Z'))//统计字母
character++//等同于character=character+1
else if(ch==' ') //统计空格
blank++//等同于blank=blank+1
else if(ch>='0'&&ch <='9') //统计数字
number++//等同于number=number+1
}
完整代码
package com.zf.s2//创建一个包
public class TextLength {//描述字符串长度的类
public static boolean isChineseChar(char c) throws Exception{//判断是否是一个汉字
return String.valueOf(c).getBytes("GBK").length>1//汉字的字节数大于1
}
public static int getChineseCount(String s) throws Exception{//获得汉字的长度
char c
int chineseCount=0
if(!"".equals("")){//判断是否为空
s=new String(s.getBytes(),"GBK") //进行统一编码
}
for(int i=0i<s.length()i++){//for循环
c=s.charAt(i) //获得字符串中的每个字符
if(isChineseChar(c)){//调用方法进行判断是否是汉字
chineseCount++ //等同于chineseCount=chineseCount+1
}
}
return chineseCount //返回汉字个数
}
public static String getStringInfo(String s){//获得字母、数字、空格的个数
char ch
int character=0,blank=0,number=0
for(int i=0i <s.length()i++) //for循环
{
ch=s.charAt(i)
if((ch>='a'&&ch <='z')||(ch>='A'&&ch <='Z'))//统计字母
character++//等同于character=character+1
else if(ch==' ') //统计空格
blank++//等同于blank=blank+1
else if(ch>='0'&&ch <='9') //统计数字
number++//等同于number=number+1
}
return "字符串中共有"+character+"个字母,"+blank+"个空格,"+number+"个数字"
}
public static void main(String []args) throws Exception {//java程序的主入口方法
String s="hello world 世界你好!!123*"
System.out.println("字符串的总长度:"+s.length())//显示字符串长度
System.out.println("字符串中汉字长度:"+getChineseCount(s))//调用方法显示汉字长度
System.out.println(getStringInfo(s)) //调用方法显示其它字母类型的长度
}
}
Java字符串使用字符串对象的length属性得到字符串的长度,例如以下代码:\x0d\x0aString str = "abc_"\x0d\x0aSystem.out.println(str.length())\x0d\x0a这两句代码将在控制台打印str字符串的长度为:4\x0d\x0a\x0d\x0aJava中除了字符串使用length属性得到字符串的长度,数组也是使用length属性得到数组的长度,例如以下代码:\x0d\x0aString [] a = new String [3]\x0d\x0aSystem.out.println(a.length)\x0d\x0a这两句代码将在控制台打印数组a的长度为:3