java 获取本地文件名及中文名乱码解决

公司数据迁移,一些附件无法直接导入到新系统 , 然后需要将附件从原系统下载到本地再上传到新系统,系统平台为 jira,这里写了一个批量上传的代码,采用的是 curl 的方式,其中需要获取本地文件路径:
public static ArrayList<String> getFiles(String path) {ArrayList<String> files = new ArrayList<>();File file = new File(path);if (file.exists() && file.isDirectory() && file.canRead()) {File[] tempList = file.listFiles();for (int i = 0; i < tempList.length; i++) {if (tempList[i].isFile()) {files.add(tempList[i].toString());}}return files;}return null;}
这时候出现了一个问题 , 文件名包含中文,debug 的时候发现获取到的文件名出现了乱码
看了很多文章说需要转码,一一尝试没什么用,这时候获取本地编码方式发现出现了一个很奇怪的编码:Cp1252,最后终于找到问题所在,是eclipse 默认编码的问题(别问我为什么不用 IDEA,公司不给用?。。?解决方式如图:
Window –> preference –>
将编码格式修改为 UTF-8,再次运行程序就没有文件名乱码的问题了 。
批量上传:
public static String execCurl(String issueKey, String file) {HashMap<String, String> info = GetPropertiesUtil.getInfo();String user = info.get(&
【java 获取本地文件名及中文名乱码解决】以上就是朝夕生活(www.30zx.com)关于“java 获取本地文件名及中文名乱码解决”的详细内容,希望对大家有所帮助!

猜你喜欢