私はAndroid 2.2の単純なファイルデコーダを作成しています。このファイル名は、デコードされたファイルのファイル名として使用されます(期待どおり)。Java:部分文字列によって生成された文字列は、ハードコードされた文字列として扱われません。
ファイル名は部分文字列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
おかげで
正しいパスを指定していますか? – st0le
ファイルヘッダーを読むとコードスニペットを投稿できますか? –