rendered paste bodyimport java.io.*;import java.util.*;public class ReadBytes { /** * @param args */ public static void main(String[] args) { File f = new File("C:/tmp.xml"); List<String> lines = new ArrayList<String>(); byte[] fileBuffer = new byte[1024 * 1024]; byte[] streamBuffer = new byte[12]; int offset = 0; boolean eol = false; int eolOffset = 0; try { InputStream is = new FileInputStream(f); int bytesRead = 0; while((bytesRead = is.read(streamBuffer)) > -1) { if (bytesRead > 0) { for (int i = 0; i < bytesRead-1; i++) { if (streamBuffer[i] == 13 && streamBuffer[i+1] == 10) { // Found eol eol = true; eolOffset = offset + i; } } System.arraycopy(streamBuffer, 0, fileBuffer, offset, bytesRead); offset += bytesRead; } if (eol) { //a line ending was found String line = new String(fileBuffer, 0, eolOffset, "UTF-8"); System.arraycopy(fileBuffer, eolOffset, fileBuffer, 0, fileBuffer.length-eolOffset); eol = false; offset = offset - eolOffset; lines.add(line); } } } catch (IOException e) { throw new RuntimeException(e); } for (String line: lines) { System.out.print(line); } }}