Java reads binary files in bytes, and can also read pictures, music files, video files, etc. In Java, four categories are provided to operate files, namely InputStream, OutputStream, Reader, and Writer. The first two are operations on byte streams, and the latter two are operations on character streams.
FileWriter can only accept parameters in the form of strings, which means it can only save the content to a text file. Compared with text files, file storage in binary format saves more space.
InputStream is used to read data from the input stream in bytes. The int read() method reads a byte, which returns a value between 0 and 255 in the form of an integer. Why read a byte instead of directly returning a byte type value?
Because the highest bit of the byte type is the sign bit, the largest positive integer it can represent is 127.
InputStream is just an abstract class and cannot be instantiated. FilelnputStream is a subclass of InputStream and is used to read bytes from a file.
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异常
The write(int b) method in OutputStream is used to write out data by bytes. FileOutputStream is used to write data to a file in bytes. For example, reading the content from a file by bytes and writing it to another new file is the file copy function.
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(); //关闭输出流
Determine whether the file already exists. If it does not exist, generate the file.
File dataFile = new File(dicDir + dataDic); if (!dataFile.exists()) { //如果文件不存在则写入文件 }
Use the File.mkdirs() method to create multi-level directories. For example, when a directory does not exist, create it.
File tempDir = new File(imgPath); if(!tempDir.exists()){ tempDir.mkdirs(); }
Many java training videos, all on the PHP Chinese website, welcome to learn online!
The above is the detailed content of How to open binary file in java. For more information, please follow other related articles on the PHP Chinese website!