⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 initutilities.java

📁 peeranha42是jxta的 p2p程序核心
💻 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 + -