Thanks for the quick response. I still have a few questions and reactions to your answer though.
I agree that "files don't "include special characters in UTF-8 in their names", that was poorly worded. The filenames include special characters that are not only non-ASCII, but that are also outside of the default codepage of my Windows installation, which is apparently 850. The example I gave - ellipsis - is one of those characters: it is part of Unicode (obviously) but is not in the codepage 850 set. I also agree that Windows in general will work well with filenames that contain any Unicode characters, but how a DOS prompt outputs them is of course another matter (generally controlled with the chcp command).
I tried using "Cp65001" for the InputStreamReader but Java doesn't support that directly. However, according to Microsoft documentation, codepage 65001 -is- UTF-8 and switching the console to a full Unicode font seems to support that. The console shows erroneous characters with the codepage set to 850, but displays them properly when set to codepage 65001 and configured with a Unicode font.
Your suggestion to just read the inputstream as a set of bytes is a useful one. I started out doing that, but once I thought I knew what the solution would be, I moved beyond that. I'll revisit it and post back if that yields anything. If I remember correctly however, I initially got xF7FF or xFDFF characters in the location of the ellipsis - whichever is the default UTF-8 encoding for an illegal character. It should be x2026 (ellipsis is U+2026). This is why I initially suggested that the problem might be in an underlying class performing some transformation outside of my control.
The reason I don't just use the built-in features is simple, though I may be at fault. I need a -fast- way to get a filtered list of thousands of files from a very large network share (several Terabytes, 100's of millions of files). The filtering is simple, by extension of the file, but I found that using the built-in features took up to twenty times as long as running it against the OS, with the best code I could muster. Perhaps I'm overlooking a specific built-in function I could best use to get a filtered list of files? I am new at Java, but then that's why I'm posting here
Thanks for any feedback you care to offer,
JAAP.