package immibis.bon.mcp; import java.io.*; import java.util.*; public abstract class CsvFile { /** Does not close <var>r</var>. */ public static Map<String, String> read(Reader r, int[] n_sides) throws IOException { Map<String, String> data = new HashMap<String, String>(); @SuppressWarnings("resource") Scanner in = new Scanner(r); in.useDelimiter(","); while(in.hasNextLine()) { String searge = in.next(); String name = in.next(); String side = in.next(); /*String desc =*/ in.nextLine(); try { if(sideIn(Integer.parseInt(side), n_sides)) { data.put(searge, name); } } catch(NumberFormatException e) { } } return data; } @Deprecated public static Map<String, String> read(File f, int[] n_sides) throws IOException { try (Reader r = new BufferedReader(new FileReader(f))) { return read(r, n_sides); } } private static boolean sideIn(int i, int[] ar) { for(int n : ar) if(n == i) return true; return false; } }