回答編集履歴
1
バイナリファイル出力
answer
CHANGED
@@ -13,4 +13,15 @@
|
|
13
13
|
result[i] = (i<l) ? sjis[i] : (byte) 0x20;
|
14
14
|
}
|
15
15
|
```
|
16
|
-
sjisが20バイトを超える場合は使えません。
|
16
|
+
sjisが20バイトを超える場合は使えません。全角文字を全く扱わない場合は切り捨て問題は起こりません。
|
17
|
+
|
18
|
+
**バイト配列をファイル出力(追記)**
|
19
|
+
|
20
|
+
もしかして、バイナリファイルの出力方法がわからないということでしょうか。byte[]をそのままファイル出力するには、`java.io.FileOutputStream`を使います。
|
21
|
+
```Java
|
22
|
+
try (FileOutputStream fs = new FileOutputStream(" ... ")) {
|
23
|
+
fs.write(sjis);
|
24
|
+
} catch (IOException e) { ... }
|
25
|
+
```
|
26
|
+
`java.io.OutputStreamWriter`で出力するとunicode -> ネイティブエンコーディング変換が行われます。
|
27
|
+
Reader/Writerはエンコーディングを変換します。InputStream/OutputStreamはバイナリをそのまま扱い変換しません。
|