Rumah  >  Artikel  >  Java  >  java怎么打开二进制文件

java怎么打开二进制文件

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼asal
2019-11-14 10:22:292794semak imbas

java怎么打开二进制文件

Java读取二进制文件,以字节为单位进行读取,还可读取图片、音乐文件、视频文件等。在Java中,提供了四种类来对文件进行操作,分别是InputStream、OutputStream、Reader、Writer,前两种是对字节流的操作,后两种则是对字符流的操作。

FileWriter只能接受字符串形式的参数,也就是说只能把内容存到文本文件。相对于文本文件,采用二进制格式的文件存储更省空间。

InputStream用于按字节从输入流读取数据。其中的int read()方法读取一个字节,这个字节以整数形式返回0到255之间的一个值。为什么读一个字节,而不直接返回一个byte类型的值?

因为byte类型最高位是符号位,它所能表示的最大的正整数是127。

InputStream只是一个抽象类,不能实例化。FilelnputStream是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中文网,欢迎在线学习!

Atas ialah kandungan terperinci java怎么打开二进制文件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:大数据是java吗Artikel seterusnya:java怎么删除?