Files with a extension of .FILE appear to be incorrectly identified. For example in the following code TFile tf1 works fine but tf2.isDirectory throws an IllegalArgumentException:
File f = new File("/tmp/test.tmp");
f.delete();
com.google.common.io.Files.write("Test\n12345\n", f, Charsets.US_ASCII);
TFile tf = new TFile(f);
tf1.isDirectory();
f = new File("/tmp/test.FILE");
f.delete();
com.google.common.io.Files.write("Test\n12345\n", f, Charsets.US_ASCII);
tf2 = new TFile(f);
tf2.isDirectory();
Exception in thread "main" java.lang.IllegalArgumentException
at de.schlichtherle.truezip.fs.file.FileDriver.newController(FileDriver.java:36)
at de.schlichtherle.truezip.fs.FsAbstractCompositeDriver.newController(FsAbstractCompositeDriver.java:41)
at de.schlichtherle.truezip.fs.FsDefaultManager.getController(FsDefaultManager.java:81)
at de.schlichtherle.truezip.fs.FsDefaultManager.getController(FsDefaultManager.java:61)
at de.schlichtherle.truezip.fs.FsFailSafeManager.getController(FsFailSafeManager.java:52)
at de.schlichtherle.truezip.file.TFile.getController(TFile.java:1638)
at de.schlichtherle.truezip.file.TFile.getController(TFile.java:1634)
at de.schlichtherle.truezip.file.TFile.isDirectory(TFile.java:2108)
at tztest.TZTest.main(TZTest.java:37)
In TFile.scan
final boolean isArchive = detector.getScheme(path) != null
returns false for tf1 and true for tf2
@donaldm: I was about to submit this bug, but you beat me to it