All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.vectorpublish.desktop.vp.TextFileReader Maven / Gradle / Ivy

The newest version!
/*
 * Copyright (c) 2016, Peter Rader. All rights reserved.
 *  ___ ___               __                 ______         __     __  __         __
 * |   |   |.-----..----.|  |_ .-----..----.|   __ \.--.--.|  |--.|  ||__|.-----.|  |--.
 * |   |   ||  -__||  __||   _||  _  ||   _||    __/|  |  ||  _  ||  ||  ||__ --||     |
 *  \_____/ |_____||____||____||_____||__|  |___|   |_____||_____||__||__||_____||__|__|
 *
 * http://www.gnu.org/licenses/gpl-3.0.html
 */
package net.vectorpublish.desktop.vp;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedList;
import java.util.List;

import javax.inject.Named;

import net.vectorpublish.desktop.vp.article.TextReader;

@Named
public class TextFileReader implements TextReader {

	private static final String EMPTY = "";

	@Override
	public List read(File f) throws IOException {
		if (!f.getName().endsWith(".nfo") && !f.getName().endsWith(".asc") && !f.getName().endsWith(".txt")
				&& !f.getName().endsWith(".text") && !f.getName().endsWith(".me") && !f.getName().endsWith(".txt.bak")
				&& f.getName().contains(".")) {
			return null;
		}

		LinkedList lst = new LinkedList<>();
		FileReader fr = new FileReader(f);
		BufferedReader br = new BufferedReader(fr);
		String line, lastLine = null;
		String paragraphCandidate = "";
		while ((line = br.readLine()) != null) {
			if (EMPTY.equals(line)) {
				lst.add(paragraphCandidate);
				paragraphCandidate = "";
			} else {
				paragraphCandidate += line;
			}
			lastLine = line;
		}
		if (!paragraphCandidate.equals("")) {
			lst.add(paragraphCandidate);
		}
		br.close();
		return lst;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy