Java はバイナリ ファイルをバイト単位で読み取りますが、画像、音楽ファイル、ビデオ ファイルなどを読み取ることもできます。 Java では、ファイルを操作するために、InputStream、OutputStream、Reader、Writer の 4 つのカテゴリが用意されており、最初の 2 つはバイト ストリームに対する操作、後の 2 つは文字ストリームに対する操作です。
FileWriter は文字列形式のパラメータのみを受け入れることができます。つまり、コンテンツをテキスト ファイルに保存することしかできません。テキスト ファイルと比較して、バイナリ形式でファイルを保存すると、より多くのスペースが節約されます。
InputStream は、入力ストリームからデータをバイト単位で読み取るために使用されます。 int read() メソッドはバイトを読み取り、0 ~ 255 の値を整数の形式で返します。バイト型の値を直接返すのではなく、バイトを読み取るのはなぜでしょうか?
バイト型の最上位ビットは符号ビットであるため、それが表現できる最大の正の整数は 127 です。
InputStream は単なる抽象クラスであり、インスタンス化できません。 FileInputStream は、InputStream のサブクラスであり、ファイルからバイトを読み取るために使用されます。
public static void main(String[] args) throws IOException { String filePath = "d:/test.txt"; File file = new File (filePath); //根据文件路径创建一个文件对象 //如果找不到文件,会抛出FileNotFoundException异常 FilelnputStream filelnput = new FilelnputStream(file); } filelnput.close (); //关闭文件输入流,如果无法正常关闭,会抛出IOException异常
OutputStream の write(int b) メソッドは、データをバイト単位で書き出すために使用されます。 FileOutputStream は、データをバイト単位でファイルに書き込むために使用されます。たとえば、ファイルの内容をバイト単位で読み取り、別の新しいファイルに書き込むのがファイル コピー機能です。
File fileln = new File ("source. txt"); //打开源文件 File fileOut = new File ("target.txt”); //打开写入文件,也就是目标文件 FilelnputStream streamln = new FilelnputStream (fileln); //根据源文件构建输入流 FileOutputStream streamOut = new FileOutputStream (fileOut); //根据目标文件构建输出流 int c; //从源文件中按字节读入数据,如果内容还没读完,则继续 while ((c = streamln.read()) != -1) { streamOut .write (c); //写入目标文件 } streamln.close。; //关闭输入流 streamOut.close(); //关闭输出流
ファイルが既に存在するかどうかを確認し、存在しない場合はファイルを生成します。
File dataFile = new File(dicDir + dataDic); if (!dataFile.exists()) { //如果文件不存在则写入文件 }
File.mkdirs() メソッドを使用して、複数レベルのディレクトリを作成します。たとえば、ディレクトリが存在しない場合は、ディレクトリを作成します。
File tempDir = new File(imgPath); if(!tempDir.exists()){ tempDir.mkdirs(); }
多くの Java トレーニング ビデオ はすべて PHP 中国語 Web サイトにあります。オンラインで学習することを歓迎します。
以上がJavaでバイナリファイルを開く方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。