/*********************************************************************************** * * Copyright (c) 2015 Kamil Baczkowicz * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Eclipse Distribution License v1.0 which accompany this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * * Kamil Baczkowicz - initial API and implementation and/or initial documentation * */ package pl.baczkowicz.spy.audit; import java.io.File; import java.io.IOException; import pl.baczkowicz.spy.exceptions.SpyException; import pl.baczkowicz.spy.files.FileUtils; import pl.baczkowicz.spy.files.StreamedFileReader; public class StreamedAuditReader { private long lines; private File file; private StreamedFileReader reader = new StreamedFileReader(); public void openAuditFile(final File selectedFile) throws SpyException { file = selectedFile; lines = FileUtils.countLines(file); try { reader.openFile(file); } catch (IOException e) { new SpyException("Cannon open file " + file, e); } } public boolean hasNext() throws IOException { return reader.hasNext(); } public String getNextLine() throws IOException { return reader.getNextLine(); } public void closeAuditFile() { try { reader.closeFile(); } catch (IOException e) { new SpyException("Cannon close file " + file, e); } } public long getCount() { return lines; } }