Java如何输出windows中的全部汉字

 更新时间:2024年01月16日 14:13:24   作者:罗思洋  
这篇文章主要介绍了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文件中,若有哪位老铁需要编写这种类型的程序,可以酌情参考本篇文章。

希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论