I did this at work and I don't have the code here, but I think you can do something like
FileReader fr = new FileReader(file, "UTF-16");
and that will read UTF-16 characters.
If you don't have a file, and all you've got is a byte[], you can do this using a bytearrayinputstream and an InputStreamReader
> If I have a byte array, how can I convert this to a
> char as a specific encoding? lets say its UTF-16 or
> ASCII and I need to decide this on the fly.
String s = new String(byteArray, encoding); // encoding = "utf-16" or "ASCII" or "utf-8" etc