import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
private static final String APPLICATION_NAME = "nicobrowser";
private static final String CONFIG_NAME = APPLICATION_NAME + ".properties";
private static final String FEEDURL_NAME = "feedurl.txt";
+ private static final String MYLIST_CONFIG_NAME = "mylist.txt";
private static final File APP_HOME = new File(System.getProperty("user.home", "."), "." + APPLICATION_NAME);
private static final File CONFIG_FILE = new File(APP_HOME, CONFIG_NAME);
private static final File FEEDURL_FILE = new File(APP_HOME, FEEDURL_NAME);
+ private static final File MYLIST_CONFIG_FILE = new File(APP_HOME, MYLIST_CONFIG_NAME);
public static final String P_PATH_DB = "path.db";
public static final String P_PATH_SAVEFILE = "path.savefile";
public static final String P_SAVEFILE_PATTERN = "savefilename.pattern";
}
}
}
+ if(!MYLIST_CONFIG_FILE.exists()){
+ createNewMylistConfigFile(MYLIST_CONFIG_FILE);
+ log.info("MYLISTファイルを作成しました: " + MYLIST_CONFIG_FILE.getCanonicalPath());
+ }
return result;
}
FileUtils.writeLines(dest, list);
}
+ private static void createNewMylistConfigFile(File file) throws IOException{
+ FileUtils.writeStringToFile(file, "");
+ }
private Config() {
try {
properties = new PropertiesConfiguration(CONFIG_FILE);
}
public List<String> getDownLoadMyList() {
+ final List<String> mylists = new ArrayList<String>();
+ try {
+ final List<?> lines = FileUtils.readLines(MYLIST_CONFIG_FILE);
+ final Pattern p = Pattern.compile("(^\\d+)");
+ for(Object l : lines){
+ Matcher m = p.matcher(l.toString());
+ if(m.find()){
+ mylists.add(m.group(1));
+ }
+ }
+ } catch (IOException ex) {
+ Logger.getLogger(Config.class.getName()).log(Level.SEVERE, "読み込みに失敗: " + MYLIST_CONFIG_NAME, ex);
+ }
String[] res = properties.getStringArray(P_DOWNLOAD_MYLIST);
- return Arrays.asList(res);
+ mylists.addAll(Arrays.asList(res));
+ return mylists;
}
public List<NicoFeed> getNicoFeeds() {
List<NicoFeed> list = new ArrayList<NicoFeed>();
try {
- List lines = FileUtils.readLines(FEEDURL_FILE, getEncoding());
+ List<?> lines = FileUtils.readLines(FEEDURL_FILE, getEncoding());
for (Object line : lines) {
final String str = line.toString();
if (StringUtils.isEmpty(str) || str.startsWith("#")) {