日期:2014-05-18  浏览次数:20827 次

FileInputStream文件名为中文时乱码?

public   FileInputStream(String   name)   throws   FileNotFoundException通过打开一个到实际文件的连接来创建一个   FileInputStream,该文件通过文件系统中的路径名   name   指定。

请问如果是中文名字该怎么办?
FileInputStream   fileInputStream   =new   FileInputStream(filepath);
当中文文件名时出现乱码!
  D:\up_load\×??ò????java·?????·¨.doc   (系统找不到指定的文件。)

------解决方案--------------------
中文文件名怎么会出现乱码? filePath不是你自己赋值的吗?
如果只是把乱码变成正常中文的话,可以这样:
String s = new String(ss.getBytes( "ISO-8859-1 ")); (ss是显示为乱码的String)
------解决方案--------------------
文件名改成英文

------解决方案--------------------
或者指定JSP页面的编码为GBK
------解决方案--------------------
正常的乱码问题,转化一下就行了
pstrWord = new String(pstrWord.getBytes( "ISO8859_1 "), "GBK ");
pstrWord = new String(pstrWord.getBytes( "iso-8859-1 "), "gb2312 ") ;
pstrWord = new String(pstrWord.getBytes( "GBK "), "ISO8859_1 ");
就是一句适合你,哈哈
------解决方案--------------------
String s = new String(ss.getBytes( "ISO-8859-1 ", "gbk "));