package org.ripple.power.database; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.util.HashSet; import org.ripple.power.utils.StringUtils; public class RippleToDataBase { public static AddressManager go(String userFile, String baseDir) throws IOException { return go(new File(userFile), baseDir); } public static AddressManager go(File userFile, String baseDir) throws IOException { HashSet<String> caches = new HashSet<String>(10000); AddressManager manager = new AddressManager(baseDir); BufferedReader reader = new BufferedReader(new FileReader(userFile)); String text = null; for (int i = 0; (text = reader.readLine()) != null; i++) { if (text.indexOf(" ") != -1) { String[] result = StringUtils.split(text, " "); switch (result.length) { case 5: String tmp = result[1]; if (caches.add(tmp)) { manager.put(tmp); } if (caches.size() > 10000) { caches.clear(); } if (i % 1000 == 0) { System.out .println(String.format("Has been read %s", i)); } break; default: break; } } else { if (caches.add(text)) { manager.put(text); } if (caches.size() > 10000) { caches.clear(); } if (i % 1000 == 0) { System.out.println(String.format("Has been read %s", i)); } } } reader.close(); reader = null; manager.submit(); return manager; } }