The reading and writing operations of java are the only way to learn java development. Let’s take a look at how to read files in java.
1. Use BufferedReader to read files
BufferedReader is a wrapper class designed to provide reading efficiency. It can wrap character streams. Text can be read from a character input stream, buffering individual characters for efficient reading of characters, arrays, and lines.
static long testBuffered(String fileName) throws IOException{ Long startTime = System.currentTimeMillis(); BufferedReader reader = new BufferedReader(new FileReader(fileName)); char[] buffer=new char[8*1024]; long sum = 0; while((count=reader.read(buffer))!=-1) { sum += count; } reader.close(); Long endTime = System.currentTimeMillis(); System.out.println("Total time of BufferedReader is "+ (endTime - startTime) + " milliseconds, Total byte is " + sum); return endTime - startTime; }
2. Use the RandomAccessFile class to read files
RandomAccessFile is an access to file content provided by Java. It can both read files and write files; RandomAccessFile Supports random access to files and can access any location of the file.
static long testRandomAccess(String fileName) throws IOException{ Long startTime = System.currentTimeMillis(); RandomAccessFile reader = new RandomAccessFile(fileName,"r"); int count; byte[] buffer=new byte[8*1024];//缓冲区 long sum = 0; while((count=reader.read(buffer))!=-1){ sum += count; } reader.close(); Long endTime = System.currentTimeMillis(); System.out.println("Total time of RandomAccess is "+ (endTime - startTime) + " milliseconds, Total byte is " + sum); return endTime - startTime; }
3. Use the FileInputStream method to read files
This method is also very common. The principle is the same as the name. It turns the file into an input stream, and then a character Reading of one character. It is implemented by calling the read function of InputStream. The code is as follows:
public int read(byte b[], int off, int len) throws IOException { int c = read(); if (c == -1) { return -1; } b[off] = (byte)c; int i = 1; try { for (; i < len ; i++) { c = read(); if (c == -1) { break; } b[off + i] = (byte)c; } } catch (IOException ee) { } return i; }
Stream is an abstract concept. When a Java program needs to read data from a data source, it will open a stream to the data source. The data source can be a file, memory or network, etc. Similarly, when the program needs to output data to a destination, it will also open a stream. The data destination can also be a file, memory, or network. Streams are created to more conveniently handle the input and output of data.
For more java knowledge, please pay attention to java basic tutorial.
The above is the detailed content of How to read files in java. For more information, please follow other related articles on the PHP Chinese website!

The article discusses various Java garbage collection algorithms (Serial, Parallel, CMS, G1, ZGC), their performance impacts, and suitability for applications with large heaps.

The article discusses the Java Virtual Machine (JVM), detailing its role in running Java programs across different platforms. It explains the JVM's internal processes, key components, memory management, garbage collection, and performance optimizatio

Java's Nashorn engine enables JavaScript scripting within Java apps. Key steps include setting up Nashorn, managing scripts, and optimizing performance. Main issues involve security, memory management, and future compatibility due to Nashorn's deprec

Java's try-with-resources simplifies resource management by automatically closing resources like file streams or database connections, improving code readability and maintainability.

Java enums represent fixed sets of values, offering type safety, readability, and additional functionality through custom methods and constructors. They enhance code organization and can be used in switch statements for efficient value handling.


Hot AI Tools

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

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

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

MinGW - Minimalist GNU for Windows
This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.

Safe Exam Browser
Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

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

Dreamweaver Mac version
Visual web development tools