What exactly is meant by "full rights"? When I go to Properties>Security, there are green ticks for all Permissions. Is this correct?
What I mean is: I remember that Windows grants you, as non-admin, read/write access only to some directories. You want to have SLT and
root.lzp where you have such read/write access. Maybe write access is already enough.
I don't use Windows. >_>;; Thus I don't know what those checkmarks would be for.
I've patched the error message, but if your path is being interpreted as having %'s in it, then there's probably going to be a whole host of other related places I'll need to patch.
Yeah, I've seen a couple similar such constructions in your
Core.java, but didn't check every single one for whether the runtime string might end up containing '%'.
At least you know about this kind of bug now, and can catch it by eye.
But if you already have doubts, then I think it's worth sanitizing the codebase for such unchecked formatstrings in the medium term.
Ideally, all your formatstrings are known by compile time -- some other languages can even typecheck the remaining arguments at compile time based on such a formatstring, and give you compiler errors on format specifier mismatch. Even in Java, which doesn't do that, you can strive to have only string literals, no + or other runtime arguments, in the formatstring.
(I'm no expert about best practices when you can't have that so easily, e.g., when you want to translate formatted error messages into different human languages. It's probably okay to let format throw a runtime exception in those cases, and catch it.)
-- Simon