package org.Webgatherer.Utility; import java.io.*; import java.util.*; /** * This class is meant for reading text files Lists, similar to a properties file * The purpose of this is to provide a way for workflows to use data from text files rather than having it coded directly into a Java class * * @author Rick Dane */ public class ReadFiles { private String filesLocation = "/home/user/Dropbox/Rick/WebGatherer/WebGatherer---Scraper-and-Analyzer/src/main/resources/filesLoadIntoHashmap"; private FileReader fr; private BufferedReader br; public ReadFiles() { //readFilesToHashMap(filesLocation); } public Map<String, List<String>> readFilesToHashMapOfLists(String folderPath) { Map<String, List<String>> fileLists = new HashMap<String, List<String>>(); String fileName; File folder = new File(folderPath); File[] listOfFiles = folder.listFiles(); for (int i = 0; i < listOfFiles.length; i++) { if (listOfFiles[i].isFile()) { fileName = listOfFiles[i].getName(); List<String> lineList = readLinesToList(folderPath + "/" + fileName); fileLists.put(fileName, lineList); } } return fileLists; } public Map<String, String> readFilesToHashMap(String folderPath) { Map<String, String> retMap = new HashMap<String, String>(); String fileName; File folder = new File(folderPath); File[] listOfFiles = folder.listFiles(); for (int i = 0; i < listOfFiles.length; i++) { if (listOfFiles[i].isFile()) { fileName = listOfFiles[i].getName(); retMap.put(fileName, readFileToString(folderPath + "/" + fileName)); } } return retMap; } public List <String> readFilesToCollection(String folderPath) { List<String> retCollection = new ArrayList<String>(); String fileName; File folder = new File(folderPath); File[] listOfFiles = folder.listFiles(); for (int i = 0; i < listOfFiles.length; i++) { if (listOfFiles[i].isFile()) { fileName = listOfFiles[i].getName(); retCollection.add(readFileToString(folderPath + "/" + fileName)); } } return retCollection; } public List<String> readLinesToList(String filePath) { List<String> linesList = new ArrayList<String>(); try { FileInputStream fstream = new FileInputStream(filePath); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; while ((strLine = br.readLine()) != null) { linesList.add(strLine); } in.close(); } catch (Exception e) {//Catch exception if any e.printStackTrace(); return null; } return linesList; } public String readFileToString(String filePath) { StringBuilder strBld = new StringBuilder(); try { FileInputStream fstream = new FileInputStream(filePath); DataInputStream in = new DataInputStream(fstream); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String strLine; while ((strLine = br.readLine()) != null) { strBld.append(strLine + "\n"); } in.close(); } catch (Exception e) {//Catch exception if any e.printStackTrace(); return null; } return strBld.toString(); } }