|
|
Toci 发表于 2006-6-30 21:35:00
一、读取Unicode格式
private String read_Uni(String resource)
{
byte word_uni[]=new byte[1024];
String strReturn="";
InputStream is;
try
{
is=getClass().getResourceAsStream(resource);
is.read(word_uni);
is.close();
StringBuffer stringbuffer = new StringBuffer("");
for (int j = 0; j < word_uni.length; )
{
int k = word_uni[j++]; //注意在这个地方进行了码制的转换
if (k < 0)
k += 256;
int l = word_uni[j++];
if (l < 0)
l += 256;
char c = (char) (k + (l << 8)); //把高位和低位数组装起来
stringbuffer.append(c);
}
strReturn=stringbuffer.toString();
}
catch(IOException e)
{
e.printStackTrace();
}
finally
{
is=null;
}
return strReturn;
}
public String readUBE(String fileName)
{
String strReturn="";
char word_uni_b_e[]=new char[1024];
DataInputStream dis;
try
{
dis=new DataInputStream(getClass().getResourceAsStream(fileName));
int counter=0;
dis.skipBytes(2);
char temp;
while(true)
{
temp=dis.readChar();
if(temp=='*')
break;
word_uni_b_e[counter++]=temp;
}
dis.close();
strReturn=String.valueOf(word_uni_b_e,0,counter);
}
catch(Exception e)
{
System.out.println("read_Uni_b_e error!"+e.getMessage());
}
finally
{
dis=null;
}
return strReturn;
}
public String readUTF8(String fileName)
{
String strReturn="";
byte wordBy[]=new byte[1024];
InputStream in=null;
try
{
in=getClass().getResourceAsStream(fileName);
in.read(wordBy);
in.close();
strReturn=new String(wordBy,"UTF-8");
}
catch(Exception e)
{
}
return strReturn;
}
|
|