>>556
>write(int c)
>一個の文字を書き込む
この「文字」とは、cの意味するアスキーコードのこと
ここで1が指定されたんで、アスキーコード0x01=SOHが出力されたってわけ

>制御コード と 変数 i を出力したいのだけれども
制御コードを出力したいのか?

i=Integer.parseInt(j);をやってるのに、逆をやってないから駄目
// i+"" の意味は分かってるの?
i=Integer.parseInt(j); を i=65; とかにしたらどうなるか分かる?
また、test.txtに「9」が記録されていたら、
「一個の文字を書き込む」メソッドでどうやって「10」を出力するつもり?

多分プログラミング初心者だと思うけど、変数の型の区別はちゃんとついてる?