码迷,mamicode.com
首页 > 编程语言 > 详细

java基础--->文件--->从标准输入读取字符串作为文件名---->解决“文件名乱码”问题

时间:2016-11-24 11:20:43      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:概述   基础   数组   lin   命名   就会   blog   标准输入   byte   

概述:程序中有时会需要从标准输入读取字符串作为文件的名字,其具体实现方法有许多种。我第一次尝试编写这方面的程序时遇到了“乱码问题”,后来使用了新的写法解决了乱码问题。

/*原码,使用这种方法编写的代码会出现“乱码问题”
    乱码原因分析:从标准输入读取的数据先被存放至byte[]中,之后又将byte数组转成String,这个过程中就会出现编码不一致的问题
           如标准输入"file1",但是最终fileName=buffer.toString()的结果却是“@Bhjhj78i”
*/
            String fileName;//具体手势对应的frame数据存放到以该手势命名的文件中 byte[] buffer=new byte[50];//缓冲区,用于存放标准输入路径输入的文件名(也即手势名称) System.out.println("请输入手势名称,相应手势对应的Frame数据将会被存放至以该手势名称命名的文件中:例如,输入为gesture1时                        ,数据将会被存放至gesture1.txt文件中"); System.in.read(buffer); fileName=buffer.toString()+".txt"; //修改为,将程序改成如下形式就不会再出现乱码问题了 System.out.println("请输入手势名称,相应手势对应的Frame数据将会被存放至以该手势名称命名的文件中:例如,输入为gesture1                        时,数据将会被存放至gesture1.txt文件中"); BufferedReader buf = new BufferedReader(new InputStreamReader(System.in)); fileName = buf.readLine()+".txt";

 

java基础--->文件--->从标准输入读取字符串作为文件名---->解决“文件名乱码”问题

标签:概述   基础   数组   lin   命名   就会   blog   标准输入   byte   

原文地址:http://www.cnblogs.com/lxrm/p/6096717.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!