亲爱的所有人,我正在为Android 2.2创建一个简单的文件解码器,该文件解码器需要从标头中找到编码文件的文件名。然后,应将此文件名用作解码文件的文件名(如您所料)。
文件名由子字符串name=
标识,因此实际名称以5位开头。该行由BufferedReader读取,并临时存储在currLine
中。
由于某些原因,我无法理解或在网上找不到,字符串似乎并不总是字符串...
当我给文件名String fileOutName = "testfile.txt";
System.out.println("fileOutName contains: "+ fileOutName);
System.out.println("fileOutName type: "+ fileOutName.getClass());
它按应有的方式工作。但是,从文件读取它不起作用:String fileOutName = currLine.substring((currLine.indexOf("name=")+5));
不提供输出文件,也不提供IO异常。不过,该字符串已正确解析:在这两种情况下,我都从System.out调试行找到:fileOutName contains: testfile.txt
fileOutName type: class java.lang.String
任何人都不清楚为什么这行不通? :S
谢谢
最佳答案
gh ...当然,substring
例程也得到了end of line
字符,该字符显然不能放在文件名中,但显然不是printline返回的:)
所以它是由固定的:String fileOutName = currLine.substring((currLine.indexOf("name=")+5), currLine.length() -1);
感谢您查看问题并发表评论,仅提出问题就使答案打了我……有人可以将我的回答标记为正确吗?看来接下来的两天我不能这样做。