java读取含有unicode编码的文件内容,并转换成汉字?可以通过BufferedReader 流Java用代码转换成文字的形式进行流缓存Java用代码转换成文字,之后通过readLine方法获取到缓存Java用代码转换成文字的内容 。
BufferedReader bre = null;
try {
String file = "D:/test/test.txt";
bre = new BufferedReader(new FileReader(file));//此时获取到的bre就是整个文件的缓存流
while ((str = bre.readLine())!= null) // 判断最后一行不存在 , 为空结束循环
{
System.out.println(str);//原样输出读到的内容(unicode会自动转换为中文的)
};
备注:unicode不需要转换的,直接输出即可,会自动变成中文,如:
System.out.println("ab汉字");
结果就是:ab汉字 。
找到: java.lang.String[] 需要: java.lang.String 想用java写一个将数字转化成文字的小程序.package test;
public class Num3Rmb {
private String[] hanArr = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌",
"玖" };
private String[] unitArr = { "分", "角", "元", "拾", "佰", "仟" };
/**
* 把一个浮点数分解成整数部分和小数部分字符串
*
* @param num
*需要被分解Java用代码转换成文字的浮点数
* @return 分解出来的整数部分和小数部分 。第一个数组元素是整数部分Java用代码转换成文字,第二个数组元素是小数部分 。
*/
private Long[] divide(double num) {
// 将一个浮点数强制类型转换为long , 即得到它的整数部分
long zheng = (long) num;
// 浮点数减去整数部分,得到小数部分 , 小数部分乘以100后再取整得到2位小数
long xiao = (long) Math.round((num - zheng) * 100);
// 下面用了2种方法把整数转换为字符串
return new Long[] { zheng, xiao };
}
/**
* 把一个四位的数字字符串变成汉字字符串
*
* @param numStr
*需要被转换的四位的数字字符串
* @return 四位的数字字符串被转换成的汉字字符串 。
*/
private String toHanStr(String numStr) {
String.valueOf(numStr);
String result = "";
int numLen = numStr.length();
int index;
// 依次遍历数字字符串的每一位数字
for (int i = 0; inumLen; i) {
// 把char型数字转换成的int型数字,因为它们的ASCII码值恰好相差48
// 因此把char型数字减去48得到int型数字,例如'4'被转换成4 。
int num = numStr.charAt(i) - 48;
// 如果不是大于最大的单位,就需要加上单位
if (i = (numLen - unitArr.length)) {
index = unitArr.length - 1 - (i - (numLen - unitArr.length));
result= hanArr[num]unitArr[index];
} else {
result= hanArr[num];
}
}
return result;
}
public static void main(String[] args) {
Num3Rmb nr = new Num3Rmb();
// 测试把一个浮点数分解成整数部分和小数部分
Long[] num = nr.divide(236711125.123);
Long money = num[0] * 100num[1];
// 测试把一个数字字符串变成汉字字符串
System.out.println(nr.toHanStr(money.toString()));
}
}
你测试下 , 是不是你要结果 。
主要是index = unitArr.length - 1 - (i - (numLen - unitArr.length));你这个地方有问题 , Java用代码转换成文字我帮你调整了 。你也可以化简这个计算式,这样写比较容易理解些 。不过你的unitArr单位可以多加一点,如‘万’,‘十万’,‘百万’之类的
在java中,如何将utf8 十六进制编码转换成汉字?当在基于HTTP协议的JSP或Servlet的应用中获取数据或发送请求时,JVM会把输送的数据编码成UTF8格式 。如果我们直接从HTTP流中提取中文数据,提取的结果为“????”(可能更多问号),为转换成我们能够理解的中文字符 , 我们需要把UTF8转换成GB2312,借助ISO-8859-1标准编码能够轻易的实现,下面的代码实现了这一功能:
byte [] b;
String utf8_value;
utf8_value = https://www.04ip.com/post/request.getParameter("NAME");//从HTTP流中取"NAME"的UTF8数据
b = utf8_value.getBytes("8859_1"); //中间用ISO-8859-1过渡
String name = new String(b, "GB2312"); //转换成GB2312字符
在知道流长度的情况下将输入流转换成字节数组 Java中的输入流抽象类InputStream有int read(byte[] b, int off, int len)方法,参数中byte[] b是用来存放从InputStream中读取的数据,int off指定数组b的偏移地址,也就是数组b的起始下标,int len指定需要读取的长度,方法返回实际读取的字节数 。
下面的代码实现了这一功能:
ServletInputStream inStream = request.getInputStream(); //取HTTP请求流
int size = request.getContentLength(); //取HTTP请求流长度
byte[] buffer = new byte[size]; //用于缓存每次读取的数据
byte[] in_b = new byte[size]; //用于存放结果的数组
int count = 0;
int rbyte = 0;
while (countsize) {
//循环读取
rbyte = inStream.read(buffer); //每次实际读取长度存于rbyte中
for(int i=0;irbyte;i) {
in_b[counti] = buffer[i];
}
count= rbyte;
}
在不知道流长度的情况下将输入流转换成字节数组 前面介绍了已知流长度的情况下的转换方法 , 那么当我们不知道流有多长时,也就是说不能确定转换后的字节数组有多大时 , 该怎么处理呢?笔者查看了JDK文档之后发现ByteArrayOutputStream有一个byte[] toByteArray()方法,该方法会自动创建一个字节数组,然后返回 。于是就巧妙的用ByteArrayOutputStream来作中间过渡实现转换,其它处理跟上面所介绍已知长度的情况差不多 。假设需要被转换的流已经放在inStream里了,我们可以用如下的代码实现这一功能:
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100]; //buff用于存放循环读取的临时数据
int rc = 0;
while ((rc = inStream.read(buff, 0, 100))0) {
swapStream.write(buff, 0, rc);
}
byte[] in_b = swapStream.toByteArray(); //in_b为转换之后的结果
你试着改写成自己需要的代码
如何用java将繁体字转为简体字我不知道你是要自己实现,还是说只要有个类库就可以了 , 下面是我找的一个类库的实例代码:
package test3;
import net.sf.chineseutils.ChineseUtils;
public class Test {
public static void main(String args[]) throws Exception{
System.out.println(ChineseUtils.simpToTrad("把BIG5繁体字符串转换成的GB简体字符串 。"));
}
}
输出:
把BIG5繁体字符串转换成的GB简体字符串 。
java中如何把字符串中的数字转换为汉字?public class Test {
public static void main(String[] args) {
System.out.println(format("登记编号123456正在审批过程中 。"));
}
public static String format(String text) {
for (int i = 0; i10; i) {
text = text.replace((char) ('0'i),
"零一二三四五六七八九".charAt(i));
}
return text;
}
}
java中怎么把utf-8编码的字符串转成汉字java中怎么把utf-8编码的字符串转成汉字
main()
{
int i,a[10];
for(i=0;i=9;i)
a[i]=i;
for(i=9;i=0;i--)
printf("%d ",a[i]);
}
【例7.2】
main()
{
int i,a[10];
for(i=0;i10;)
a[i]=i;
for(i=9;i=0;i--)
printf("%d",a[i]);
}
【例7.3】
main()
{
int i,a[10];
for(i=0;i10;)
a[i]=2*i 1;
for(i=0;i=9;i)
printf("%d ",a[i]);
printf("\n%d %d\n",a[5.2],a[5.8]);
}
本例中用一个循环语句给a数组各元素送入奇数值,然后用第二个循环语句输出各个奇数 。在第一个 for语句中,表达式3省略了 。在下标变量中使用了表达式i,用以修改循环变量 。当然第二个for语句也可以这样作,C语言允许用表达式表示下标 。程序中最后一个printf语句输出了两次a[5]的值,可以看出当下标不为整数时将自动取整 。
7.1.3一维数组的初始化
【Java用代码转换成文字 java用代码转换成文字的方法】关于Java用代码转换成文字和java用代码转换成文字的方法的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- net技术开发了哪些,net开发的软件有哪些
- 航展准备什么拍摄设备,航展要求
- 雨中冒险2没游戏体验,雨中冒险2为什么打不开
- 网页视频怎么下载,网页视频怎么下载到电脑
- oracle怎么变成单库 oracle怎么切换到另一个实例
- html5的主要功能的简单介绍
- 自媒体存储视频用什么,自媒体用什么视频软件
- 创建公众号文章,微信公众号文章创建
- 关于日文windows系统的信息