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); //根據文件路徑創(chuàng)建一個文件對象 //如果找不到文件,會拋出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; //從源文件中按字節(jié)讀入數據,如果內容還沒讀完,則繼續(xù) 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!

Hot AI Tools

Undress AI Tool
Undress images for free

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

The settings.json file is located in the user-level or workspace-level path and is used to customize VSCode settings. 1. User-level path: Windows is C:\Users\\AppData\Roaming\Code\User\settings.json, macOS is /Users//Library/ApplicationSupport/Code/User/settings.json, Linux is /home//.config/Code/User/settings.json; 2. Workspace-level path: .vscode/settings in the project root directory

To correctly handle JDBC transactions, you must first turn off the automatic commit mode, then perform multiple operations, and finally commit or rollback according to the results; 1. Call conn.setAutoCommit(false) to start the transaction; 2. Execute multiple SQL operations, such as INSERT and UPDATE; 3. Call conn.commit() if all operations are successful, and call conn.rollback() if an exception occurs to ensure data consistency; at the same time, try-with-resources should be used to manage resources, properly handle exceptions and close connections to avoid connection leakage; in addition, it is recommended to use connection pools and set save points to achieve partial rollback, and keep transactions as short as possible to improve performance.

DependencyInjection(DI)isadesignpatternwhereobjectsreceivedependenciesexternally,promotingloosecouplingandeasiertestingthroughconstructor,setter,orfieldinjection.2.SpringFrameworkusesannotationslike@Component,@Service,and@AutowiredwithJava-basedconfi

TheJVMenablesJava’s"writeonce,runanywhere"capabilitybyexecutingbytecodethroughfourmaincomponents:1.TheClassLoaderSubsystemloads,links,andinitializes.classfilesusingbootstrap,extension,andapplicationclassloaders,ensuringsecureandlazyclassloa

Use classes in the java.time package to replace the old Date and Calendar classes; 2. Get the current date and time through LocalDate, LocalDateTime and LocalTime; 3. Create a specific date and time using the of() method; 4. Use the plus/minus method to immutably increase and decrease the time; 5. Use ZonedDateTime and ZoneId to process the time zone; 6. Format and parse date strings through DateTimeFormatter; 7. Use Instant to be compatible with the old date types when necessary; date processing in modern Java should give priority to using java.timeAPI, which provides clear, immutable and linear

ChromecanopenlocalfileslikeHTMLandPDFsbyusing"Openfile"ordraggingthemintothebrowser;ensuretheaddressstartswithfile:///;2.SecurityrestrictionsblockAJAX,localStorage,andcross-folderaccessonfile://;usealocalserverlikepython-mhttp.server8000tor

Networkportsandfirewallsworktogethertoenablecommunicationwhileensuringsecurity.1.Networkportsarevirtualendpointsnumbered0–65535,withwell-knownportslike80(HTTP),443(HTTPS),22(SSH),and25(SMTP)identifyingspecificservices.2.PortsoperateoverTCP(reliable,c

Pre-formanceTartuptimeMoryusage, Quarkusandmicronautleadduetocompile-Timeprocessingandgraalvsupport, Withquarkusoftenperforminglightbetterine ServerLess scenarios.2.Thyvelopecosyste,
