解决中文文件名上传到模拟器变乱码的问题

来源:互联网 发布:java集合三大体系 编辑:程序博客网 时间:2024/04/28 13:58

    最近开始学Android平台的程序开发,Android确实是一个非常不错的平台,对于使用Java作为开发语言的人员来说非常容易上手。

    这几天在写一个Android系统的文件预览工具的时候遇到了一个问题,每当我测试的时候遇到中文的文件名(我上传的测试文件)就出现乱码,非常郁闷,一直以为是我的程序出现了问题,在查看了Android的源代码后,在File类中的getName()和getPath()方法中没有发现和编码相关的东东。于是我在想是不是本身文件名就已经是乱码了,通过使用adb shell 连接到模拟器,用ls命令查看,发现当文件名为中文时上传到模拟器后就变成了乱码。

    我就在想要如何才能保证上传的文件名不变呢?那就是不通过adb push命令上传。

    首先,我想到了一个工具WinSCP,我想通过它连接到模拟器的linux系统,经过试验,失败。

    然后,我发现,通过USB连接传到G2的文件名并没有变,而且所有上传的文件都存放在SD卡中,在模拟器中SD卡镜像是一个img文件。于是我关闭模拟器(一定要关闭,不然无法保存修改后的img文件),通过UltraISO打开模拟器目录中sdcard.img,将文件直接拖到镜像文件中,然后保存。重启模拟器,问题解决了。得意中。。。。。。