回答編集履歴
1
バイナリファイル出力
test
CHANGED
@@ -28,4 +28,26 @@
|
|
28
28
|
|
29
29
|
```
|
30
30
|
|
31
|
-
sjisが20バイトを超える場合は使えません。
|
31
|
+
sjisが20バイトを超える場合は使えません。全角文字を全く扱わない場合は切り捨て問題は起こりません。
|
32
|
+
|
33
|
+
|
34
|
+
|
35
|
+
**バイト配列をファイル出力(追記)**
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
もしかして、バイナリファイルの出力方法がわからないということでしょうか。byte[]をそのままファイル出力するには、`java.io.FileOutputStream`を使います。
|
40
|
+
|
41
|
+
```Java
|
42
|
+
|
43
|
+
try (FileOutputStream fs = new FileOutputStream(" ... ")) {
|
44
|
+
|
45
|
+
fs.write(sjis);
|
46
|
+
|
47
|
+
} catch (IOException e) { ... }
|
48
|
+
|
49
|
+
```
|
50
|
+
|
51
|
+
`java.io.OutputStreamWriter`で出力するとunicode -> ネイティブエンコーディング変換が行われます。
|
52
|
+
|
53
|
+
Reader/Writerはエンコーディングを変換します。InputStream/OutputStreamはバイナリをそのまま扱い変換しません。
|