📄 initutilities.java
字号:
package de.uni_bremen.informatik.p2p.plugins.filesharing.control;
import java.io.File;
import java.util.ArrayList;
import org.apache.log4j.Logger;
import de.uni_bremen.informatik.p2p.peeranha42.core.plugin.config.ConfigurationManager;
import de.uni_bremen.informatik.p2p.plugins.filesharing.data.FilesharingState;
import de.uni_bremen.informatik.p2p.plugins.filesharing.data.Share;
/**
* Class contains methods for initializing the plugin.
*
* @author Lars Kordes
*/
public class InitUtilities {
/** Logger for warnings, debugs and fatals */
protected static Logger log = Logger.getLogger(InitUtilities.class);
/** Name of the config file */
private static final String CONFIGFILENAME = "p42_filesharing";
/**
* Loads preferences with ConfigurationManager. Creates the config file if doesn't exist.
*
*/
public static void loadPreferences() {
createTempDirectory();
FilesharingState.config = ConfigurationManager.loadConfigurationFile(CONFIGFILENAME);
if(FilesharingState.config == null) {
FilesharingState.config = ConfigurationManager.newConfigurationFile(CONFIGFILENAME);
FilesharingState.config.setValue("download_directory", ".");
FilesharingState.config.setValue("shares", "");
FilesharingState.config.setIntValue("maxconcurrentdownloads",2);
FilesharingState.config.applyChanges();
}
FilesharingState.config.setValue("shares", initShares(FilesharingState.config.getValue("shares")));
FilesharingState.config.applyChanges();
}
/**
* Creates the sharedfiles list. Therefore it reads all files/directories out of the given string.
*
* @param text Term from config file that contains all shared files from former sessions.
*/
private static String initShares(String term) {
FilesharingState.sharedfiles = new ArrayList();
if(term == null) return "";
String[] sharepaths = term.split(";");
term = "";
if(sharepaths == null) return "";
File file = null;
for(int i=0; i<sharepaths.length; i++) {
if(sharepaths[i] != null) {
file = new File(sharepaths[i]);
if(file.exists()) {
if(file.isFile()) {
FilesharingState.sharedfiles.add(new Share(file.getParent(), file.getName()));
term += sharepaths[i] + ";";
} else if(file.isDirectory()) {
FilesharingState.sharedfiles.add(new Share(sharepaths[i], ""));
term += sharepaths[i] + ";";
}
}
}
}
return term;
}
/**
* Creates directory for downloads temp files.
*
*/
private static void createTempDirectory() {
try {
File dir = new File(FileUtilities.TEMP_DIR);
dir.mkdir();
}
catch(Exception e) {
e.printStackTrace();
log.error(e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -