Java如何输出windows中的全部汉字
作者:罗思洋
这篇文章主要介绍了Java如何输出windows中的全部汉字问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
简介
向大家展示一个小程序,即通过Java编程输出Windows中的全部汉字,并将这些汉字存入程序所在路径的txt文件中。
实现过程
1)对于Java中文件的操作可以参考工程训练中的任务2.1进行学习,本部分需要使用到文件的写入,在java中可以通过BufferedWriter或FileWriter对文件进行写入操作,在使用BufferedWriter时也一定会使用到FileWriter,本程序选择直接使用FileWriter类进行文件的写入;
2)由于不能保证指定路径下的文件存在故可以使用if语句的判断条件配合createNewFile()创建指定文件,但是需要使用try和catch代码块,这些知识在工程训练中都有接触,故不一一赘述了;
3)由于可以通过汉字unicode码做循环来实现这一程序,所以就必须知道汉字unicode码的范围,通过查阅资料可知汉字该范围为4e00-9fa5,故可以使用for循环来实现汉字的输出;
4)程序代码如下:
import java.io.File;//导入java.io包下的File类 import java.io.FileWriter;//导入java.io包下的FileWriter类 import java.io.IOException;//导入java.io包下的IOException类 public class Test {//类名 public static void main( String[] args ){ //程序主入口函数 try{//try代码块,当发生异常时会转到catch代码块中 File file =new File("Test666.txt");//创建文件对象 if(!file.exists()){//if语句的条件,若指定路径下该文件不存在 file.createNewFile();//则在指定路径下新建该文件 } FileWriter fw=new FileWriter("Test666.txt");//创建FileWiter类对象 String start="4e00";//定义一个字符串变量为4e00 String end="9fa5";//定义一个字符串变量为9fa5 int s=Integer.parseInt(start, 16);//将16进制字符start转换为10进制整数 int e=Integer.parseInt(end, 16);//将16进制字符end转换为10进制整数 for (int i=s;i<=e;i++){//for循环实现汉字的输出 String str=(char)i+ "";//类型转换 fw.write(str);//在指定文件中输入内容 } System.out.println("windows系统所有汉字已写入指定文件中");//输出 fw.flush();//通过flush实现批量输出 fw.close();//关闭流 } catch(IOException e){//当try代码块有异常时转到catch代码块 e.printStackTrace();//printStackTrace()方法是打印异常信息在程序中出错的位置及原因 } } }
5)运行结果:
总结
通过该程序可以将Windows中的所有汉字保存到默认路径下的txt文件中,若有哪位老铁需要编写这种类型的程序,可以酌情参考本篇文章。
希望能给大家一个参考,也希望大家多多支持脚本之家。