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!