public class BufferedReaderDemo {
public static void main(String[] args) throws Exception {
String s ="ABCDE";
StringReader sr = null;
BufferedReader br = null;
try {
sr = new StringReader(s);
// create new buffered reader
br = new BufferedReader(sr);
// reads and prints BufferedReader
System.out.println((char)br.read());
System.out.println((char)br.read());
// mark invoked at this position
br.mark(0);
System.out.println("mark() invoked");
System.out.println((char)br.read());
System.out.println((char)br.read());
// reset() repositioned the stream to the mark
br.reset();
System.out.println("reset() invoked");
System.out.println((char)br.read());
System.out.println((char)br.read());
} catch (Exception e) {
// exception occurred.
e.printStackTrace();
} finally {
// releases any system resources associated with the stream
if(sr!=null)
sr.close();
if(br!=null)
br.close();
}
}
}
public class BufferedReaderReset {
public static void main(String[] args) {
System.out.print("Enter Characters: ");
// declare the BufferedReader Class
// used the InputStreamReader to read the console input
BufferedReader reader = new BufferedReader(new InputStreamReader(
System.in));
// catch the possible IOException by the read() method
try {
// read characters from the stream
System.out.println((char)reader.read());
System.out.println((char)reader.read());
// mark the stream
reader.mark(1);
System.out.println("Printing char after mark");
System.out.println((char)reader.read());
// reset the stream
reader.reset();
System.out.println("Printing characters after reset");
System.out.println((char)reader.read());
System.out.println((char)reader.read());
System.out.println((char)reader.read());
// close the BufferedReader object
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class Main {
public static void main(String[] args) throws Exception {
String s = "from java2s.com";
StringReader sr = new StringReader(s);
BufferedReader br = new BufferedReader(sr);
// reads and prints BufferedReader
System.out.println((char) br.read());
System.out.println((char) br.read());
// mark invoked at this position
br.mark(0);
System.out.println("mark() invoked");
System.out.println((char) br.read());
System.out.println((char) br.read());
// reset() repositioned the stream to the mark
br.reset();
System.out.println("reset() invoked");
System.out.println((char) br.read());
System.out.println((char) br.read());
}
}
public class BufferedTest {
/**
* @param args
*/
public static void main(String[] args) {
File f = new File("file2.txt");
try {
FileWriter fw = new FileWriter(f);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("abcd");
bw.newLine();
bw.write("def");
bw.newLine();
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader br = new BufferedReader(new FileReader(f));
System.out.println("br.markSupported():" + br.markSupported());
String line = null;
System.out.println("Contents of file");
br.mark(1);
while ((line = br.readLine()) != null) {
System.out.print(line);
}
System.out.println("Contents of file");
while ((line = br.readLine()) != null) {
System.out.print(line);
}
br.reset();
System.out.println("Contents of file");
while ((line = br.readLine()) != null) {
System.out.print(line);
}
br.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void givenBufferedReader_whenSkipsWhitespacesAtBeginning_thenOk()
throws IOException {
String result;
try (BufferedReader reader =
new BufferedReader(new StringReader(" Lorem ipsum dolor sit amet."))) {
do {
reader.mark(1);
} while(Character.isWhitespace(reader.read()))
reader.reset();
result = reader.readLine();
}
assertEquals("Lorem ipsum dolor sit amet.", result);
}
private String readLine(BufferedReader reader) throws IOException {
resBuffer.setLength(0);
reader.mark(maxJobDelimiterLineLength);
for(String line = reader.readLine();
line != null; line = reader.readLine()) {
if(isEndOfJobLog(line)) {
if(resBuffer.length() == 0)
resBuffer.append(line);
else
reader.reset();
break;
}
if(resBuffer.length() == 0)
resBuffer.append(line);
else if(resBuffer.length() < 32000)
resBuffer.append(line);
if(line.endsWith(" .") || line.endsWith("\" ")) {
break;
}
reader.mark(maxJobDelimiterLineLength);
}
String result = resBuffer.length() == 0 ? null : resBuffer.toString();
resBuffer.setLength(0);
return result;
}
private static void statInSeveralPasses(BufferedReader br, int column)
throws IOException {
System.out.println("#-----Statistics in several passes-------#");
//Create a comparator to compare records by the column.
Comparator<String> comparator
= Comparator.comparing(
(String str) -> parseDouble(getCell(str, column)));
//Find max record by using Collectors.maxBy(...)
System.out.println(
"Max: " + br.lines().collect(maxBy(comparator)).get());
br.reset();
//Find min record by using Collectors.minBy(...)
System.out.println(
"Min: " + br.lines().collect(minBy(comparator)).get());
br.reset();
//Compute the average value and sum with
//Collectors.toDoubleSummaryStatistics(...)
DoubleSummaryStatistics doubleSummaryStatistics
= br.lines().collect(summarizingDouble(
str -> parseDouble(getCell(str, column))));
System.out.println("Average: " + doubleSummaryStatistics.getAverage());
System.out.println("Sum: " + doubleSummaryStatistics.getSum());
}
private void writeBody(final BufferedReader bufferedReader) throws IOException {
char[] buffer = new char[BUFFER_LENGTH];
StringBuilder inputStringBuilder = new StringBuilder("Response Body : ");
bufferedReader.mark(MARK_LENGTH);
int len = bufferedReader.read(buffer);
String line = new String(buffer);
int curLen = 0;
while (!StringUtils.isEmpty(line) && curLen > -1 && len < MARK_LENGTH) {
inputStringBuilder.append(line);
curLen = bufferedReader.read(buffer);
len += curLen;
line = new String(buffer);
}
if (len == MARK_LENGTH) {
inputStringBuilder.append("...");
}
bufferedReader.reset();
log(inputStringBuilder.toString());
}
public static boolean sessionAlreadyImported(File xmlImportFile, File xmlSessionFile) throws IOException {
BufferedReader br1 = new BufferedReader(new FileReader(xmlSessionFile)); //sessionfile
BufferedReader br2 = new BufferedReader(new FileReader(xmlImportFile)); //desktop import
String s1, s2;
s1 = br1.readLine();
s2 = br2.readLine();
s2 = br2.readLine();
br2.mark(2000);;
while(s1 != null) {
while (s1 != null && s2 != null && s1.equals(s2)) {
s1 = br1.readLine();
s2 = br2.readLine();
if (s2 == null) {
br1.close();
br2.close();
return true;
}
}
br2.reset();
s1 = br1.readLine();
}
br1.close();
br2.close();
return false;
}
static JBigInt parseNumber(BufferedReader reader) throws IOException {
skipSpace(reader);
StringBuilder sb = new StringBuilder();
while (true) {
reader.mark(1);
int c = reader.read();
if (c >= '0' && c <= '9' || c == '.' || c == '-') {
sb.append((char)c);
} else {
reader.reset();
break;
}
}
return new JBigInt(sb.toString());
}