
こんばんは、バイナリの扱いについて質問させてください。
やりたいことはこんな感じです。
(1) hoge.mp3ファイルをバイナリで読み込む。
(2) バイナリの1000バイト目から200バイトの範囲を抜き出す。
(3) 抜き出したバイナリをファイルshort.mp3として保存する。
下の構文だとそもそもコンパイルすら通らないのですが、
やりたいことを少しでも伝えたいので、あえて書かせていただきました。
どうかよろしくお願い致します。
FileInputStream fis = new FileInputStream("hoge.mp3");
// hoge.mp3の1000バイト目から200バイト分抜き出す。
byte[] pick = fis.read(fis, 1000, 200);
DataOutputStream dout = new DataOutputStream(new FileOutputStream("short.mp3"));
dout.write(pick);
No.1ベストアンサー
- 回答日時:
import java.io.*;
class Main{
public static void main (String[] args) throws FileNotFoundException,IOException{
/*
でかいファイル作るの面倒だから入出力のファイル名は変更させてもらう。
内容はUTF-8で"あいうえお"の5文字。BOMを含めず。
つまり16進数で
E3 81 82 E3 81 84 E3 81 86 E3 81 88 E3 81 8A
*/
FileInputStream fis = new FileInputStream("test.txt");
/*
ドキュメント読め。絶対そんな引数をとるように書かれていないはずだ。
http://download.oracle.com/javase/6/docs/api/jav …[],%20int,%20int%29
これはエラーメッセージからもわかるはずだ。
手元にあるヒントを活用できないといつまで経っても絶対に自分で書けるようにはならない。
*/
byte[] bytes = new byte[4];
/* 1バイト飛ばして*/
fis.skip(1);
/* (飛ばしたから)2バイト目から4バイトを拾って、bytes[0]から、bytes[3]までの4つに格納する。*/
fis.read(bytes, 0 , 4);
/* とりあえず早めに閉じとく。本来使うべき例外は使わないよ。面倒だから*/
fis.close();
DataOutputStream dout = new DataOutputStream(new FileOutputStream("short.bin"));
dout.write(bytes);
dout.close();
/*
結果(バイナリエディタで確認)
81 82 E3 81
*/
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで画像解析
-
CSVファイルによる検索の高速化
-
ファイル内の(&H0A)を(&H0D0A)...
-
バイナリファイルでOutOfMemory...
-
バイナリの読み込みから出力まで
-
日本語混じりのファイルをラン...
-
テキストファイルを後ろから読...
-
C言語でのファイル読み込み
-
DXFファイルをVBで取り込み、図...
-
ファイル入力のデータを構造体...
-
配列操作について
-
VBAでテキストファイルの改行を...
-
Fortranの'read'のVBへの書き換...
-
バイト型のデータを16進表記で...
-
エクセルのプロパティーでセキ...
-
エクセルvbaでdocuworksprinter...
-
エクセルで複数のコメントのサ...
-
ExcelブックをGoogleスプレッド...
-
vbsでファイルやフォルダのコピ...
-
exclude xcopy 除外フォルダ指...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストファイルを後ろから読...
-
DXFファイルをVBで取り込み、図...
-
ファイル入力のデータを構造体...
-
バイト型のデータを16進表記で...
-
バイナリデーター内の文字を検索
-
ファイルの読みこみ方法とファ...
-
VBScriptの配列は、要素数を指...
-
フォートランのソース変更を試...
-
txtファイルの数字を計算
-
CSVファイルによる検索の高速化
-
日本語を配列に収め、そして表...
-
ファイルをメモリに出力する方法
-
RGBのバイナリデータをCImageに...
-
データグリッドビューの一覧に...
-
C or C++で2次元のデータの並び...
-
Cで2次元配列にCSVファイルを...
-
VBAでテキストファイルを複数開...
-
バイナリ出力
-
バイナリファイルでOutOfMemory...
-
バイナリファイルの一部分をカ...
おすすめ情報