首页 > 代码库 > java基础--->文件--->从标准输入读取字符串作为文件名---->解决“文件名乱码”问题
java基础--->文件--->从标准输入读取字符串作为文件名---->解决“文件名乱码”问题
概述:程序中有时会需要从标准输入读取字符串作为文件的名字,其具体实现方法有许多种。我第一次尝试编写这方面的程序时遇到了“乱码问题”,后来使用了新的写法解决了乱码问题。
/*原码,使用这种方法编写的代码会出现“乱码问题”
乱码原因分析:从标准输入读取的数据先被存放至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基础--->文件--->从标准输入读取字符串作为文件名---->解决“文件名乱码”问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。