无法从FileInputstream读取带有俄语字符的文件名

时间:2014-02-10 10:24:24

标签: android unicode fileinputstream

我从手机存储中读取了一些文件(俄文名称)我列出了所有文件,它会给我所有文件路径正确,但是当我尝试从new FileInputStream(file)读取时,它给了我文件未找到的异常我不知道为什么。 我的代码如下:

FileInputStream file1 = new FileInputStream(file); //this line gave error and file path is /storage/emulated/0/bhanuдосвидания.txt 

和logcat如下:

02-10 15:48:58.000: W/System.err(16013): java.io.FileNotFoundException: /storage/emulated/0/bhanuдосвидания.txt: open failed: ENOENT (No such file or directory) 02-10 15:48:58.020: W/System.err(16013): at libcore.io.IoBridge.open(IoBridge.java:409) 02-10 15:48:58.050: W/System.err(16013): at java.io.FileInputStream.<init>(FileInputStream.java:78) 02-10 15:48:58.050: W/System.err(16013): at com.S3Upload.UploadActivity$allCalculation.doInBackground(UploadActivity.java:16‌​71) 02-10 15:48:58.080: W/System.err(16013): 

请帮帮我......

2 个答案:

答案 0 :(得分:1)

可能是问题就像您将文件名更改为小写。尝试从代码中删除小写并检查。

答案 1 :(得分:0)

请尝试执行以下操作:

BufferedReader in = new BufferedReader(
           new InputStreamReader(
                      new FileInputStream(file), "UTF8"));

并给我一些反馈

希望有所帮助。