BufferedReader class read the text from a character-input stream. As it read the characters into a buffer, it is very efficient while reading the file data.
Find the below working application.
IOUtil.java
package com.sample.util;
import java.io.BufferedReader;
import java.io.IOException;
public class IOUtil {
public static String readText(final BufferedReader bufferedReader) throws IOException {
if (bufferedReader == null) {
return "";
}
final StringBuilder stringBuilder = new StringBuilder();
final char[] charBuffer = new char[65535];
try {
int noOfCharsRead;
while ((noOfCharsRead = bufferedReader.read(charBuffer)) != -1) {
stringBuilder.append(charBuffer, 0, noOfCharsRead);
}
} finally {
try {
if (bufferedReader != null) {
bufferedReader.close();
}
} catch (IOException e) {
System.out.println("Failed to close the reader : " + e.getMessage());
}
}
return stringBuilder.toString();
}
}
FileReadDemo.java
package com.sample.app;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import com.sample.util.IOUtil;
public class FileReadDemo {
public static void main(final String[] args) throws IOException {
final BufferedReader bufferedReader = new BufferedReader(new FileReader("/Users/Shared/a.txt"));
System.out.println(IOUtil.readText(bufferedReader));
}
}
You may like
file and stream programs in Java
How to download a binary file in Java?
How to process a huge file line by line in Java?
No comments:
Post a Comment