こんばんは、バイナリの扱いについて質問させてください。
やりたいことはこんな感じです。
(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で質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C言語の質問です。バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、 3 2023/07/19 14:58
- iPad iPadの「ファイル」に保存してあるmp3ファイルを「ミュージック」に移したい 5 2022/06/28 12:50
- フリーソフト DaVinci Resolveについてです mp3を読み込んだら左だけが音量が正常で、右だけが音量の 1 2023/04/02 21:54
- iPhone(アイフォーン) iPhoneに取込んだ音楽を聴けないです。 現在この曲はお住まいの国又は地域では入手できません。 っ 4 2022/07/29 08:19
- C言語・C++・C# c言語の問題です 2 2023/07/21 10:51
- その他(コンピューター・テクノロジー) exFATの外付けSSDからパソコンのNTFSの内蔵ストレージにコピーした場合はコピーしたデータのハ 2 2023/08/09 19:51
- フリーソフト mmfファイルからmp3に変換できる方法を教えてください(XMediaRecode以外で) 2 2022/03/22 22:25
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- タブレット アンドロイドタブレットの機能 iPad air 5、265 WiFi を使っていますが、USBもSD 4 2022/12/10 21:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バイト型のデータを16進表記で...
-
Cで2次元配列にCSVファイルを...
-
テキストファイルを後ろから読...
-
VBSにてCSV読み込みし比較
-
VBAでテキストファイルの改行を...
-
C言語でのファイル読み込み
-
掲示板の編集機能
-
DXFファイルをVBで取り込み、図...
-
fread関数の使い方がわかりませ...
-
[VBS] 16進数でバイナリファイ...
-
バイナリデータの書き換え
-
数値から画像を作りたい
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
バッチファイル 二つ上のディ...
-
エクセルで複数のコメントのサ...
-
現在のブックを閉じないで、マ...
-
エクセルvbaでdocuworksprinter...
-
バッチファイル XCOPYで上書き...
-
A列に記載されているフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バイト型のデータを16進表記で...
-
VBAでテキストファイルの改行を...
-
テキストファイルを後ろから読...
-
VBAでテキストファイルを複数開...
-
バイナリファイルでOutOfMemory...
-
DXFファイルをVBで取り込み、図...
-
RGBのバイナリデータをCImageに...
-
CFileの使い方を教えてください
-
datagridviewでドラッグ操作が...
-
Excel VBAで画像解析
-
バイナリの読み込みから出力まで
-
bmpファイルの明暗の数値化の方法
-
fread関数の使い方がわかりませ...
-
SDKにて。
-
日本語を配列に収め、そして表...
-
バイナリ出力
-
VBSにてCSV読み込みし比較
-
ファイル内の(&H0A)を(&H0D0A)...
-
Cで2次元配列にCSVファイルを...
-
日本語混じりのファイルをラン...
おすすめ情報