Unicodeの16進法から文字に変換するプログラムを作っているのですが、
うまくいかずに悩んでいます。

javaで中国語や韓国語の文字列処理を扱っているのですが、
以下のプログラムは、Unicode値から文字列に変換したものをファイルに書き込むだけの
単純なものなのですが、作成されたファイルを開いても文字化けしてしまってうまくいきません。
もちろん、ファイルはUTF-8で開いています。

因みに、プログラム中の「DACF」は、中国語で「谙」(←文字化けかも。日本語の「諳」に当たる漢字です)という漢字です。
宜しくお願いします。
==============================================================================
import java.io.*;
public class Sample {
public static void main(String[] args) {
try {
FileOutputStream fos = new FileOutputStream("C:\\test\\china.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
String strchr = String.valueOf((char)Integer.parseInt("DACF", 16));
System.out.println(strchr);
bw.write(strchr + "\n");
bw.close();
osw.close();
fos.close();
} catch (Exception ex) {
ex.printStackTrace();
}

}
}
==============================================================================