cduserconffile.java

来自「一个日本流行的,功能较全的开源Web办公管理(Groupware)系统。」· Java 代码 · 共 181 行

JAVA
181
字号
package jp.co.sjts.gsession.card;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collections;
import jp.co.sjts.gsession.tools.*;

/**
 * <p>柤帉娗棟偺屄恖愝掕僼傽僀儖
 * 
 * @author Ei KISHIDA &lt;ei@sjts.co.jp&gt;
 * @author Hideyuki KITADE &lt;kitade@sjts.co.jp&gt;
 */
public class CDUserConfFile extends GSTextFile{

	/** 柤巋娗棟侾儁乕僕昞帵峴悢 */
	private int Display;
	/** 儊乕儔 */
	private int Mailer;
	/** 侾儁乕僕昞帵峴悢 */
	private int[] ken = {10,20,30,40,50};
	/** 僼傽僀儖柤 */
	public final static String FILENAME = "configure";
	/** 僼傽僀儖 */
	private File file;

	/**
	 * <p>僷儔儊乕僞僙僢僩媦傃弶婜壔
	 *
	 * @param HomeDir 僨乕僞僨傿儗僋僩儕
	 * @param UserId  儐乕僓ID
	 */
	public CDUserConfFile(String HomeDir,String UserId) throws GSException{
		Properties properties = System.getProperties();
		String UserDir = HomeDir + CDCmd.CD_IX_TN +file.separator+ UserId +file.separator;
		UserDir = UserDir.replace('/',properties.getProperty("file.separator").charAt(0));

		// 僨傿儗僋僩儕偺桳岠惈傪僠僃僢僋
		try{
			File file1 = new File(UserDir);

			if(!file1.exists())	      // 僼傽僀儖偑懚嵼偡傞偐
			{
				if(!file1.mkdirs())      // 僼傽僀儖偑懚嵼偟側偄応崌偼丄嶌惉傪帋傒傞
					throw new GSException("僨傿儗僋僩儕嶌惉偵帋傒偨偑幐攕偟傑偟偨丅");
			}

		} catch (SecurityException e) {
			throw new GSException("傾僋僙僗尃僄儔乕:"+UserDir);
		}

		String filePath = UserDir + FILENAME;
		this.file = new File(filePath);

		if(!file.exists()){// 僼傽僀儖偑側偄応崌偼丄僨僼僅儖僩抣偱嶌惉
			// 僨僼僅儖僩抣愝掕
			SetDisplay(0);
			SetMailer(0);
			Save();
		}
	}

	/**
	 * <p>1儁乕僕昞帵審悢僀儞僨僢僋僗傪曉偟傑偡丅
	 *
	 * @return 昞帵審悢僀儞僨僢僋僗
	 */
	public synchronized int GetDisplay(){
		return Display;
	}

	/**
	 * <p>1儁乕僕昞帵審悢傪曉偟傑偡丅
	 *
	 * @return 昞帵審悢
	 */
	public synchronized int GetDisplayMax(){
		return ken[Display];
	}

	/**
	 * <p>儊僀儔乕傪曉偟傑偡丅
	 *
	 * @return 儊僀儔乕
	 */
	public synchronized int GetMailer() {
		return Mailer;
	}

	/**
	 * <p>昞帵審悢傪僙僢僩偟傑偡丅
	 *
	 * @param 昞帵審悢
	 */
	public synchronized void SetDisplay(int display){
		Display = display;
	}

	/**
	 * <p>昞帵審悢傪僙僢僩偟傑偡丅
	 *
	 * @param 昞帵審悢
	 */
	public synchronized void SetDisplay(String display){
		Display = Integer.parseInt(display);
	}

	/**
	 * <p>儊僀儔乕傪僙僢僩偟傑偡丅
	 *
	 * @param 儊僀儔乕
	 */
	public synchronized void SetMailer(int mailer) {
		Mailer = mailer;
	}

	/**
	 * <p>儊僀儔乕傪僙僢僩偟傑偡丅
	 *
	 * @param 儊僀儔乕
	 */
	public synchronized void SetMailer(String mailer){
		Mailer = Integer.parseInt(mailer);
	}

	/**
	 * <p>僼傽僀儖僆僽僕僃僋僩傪曉偟傑偡丅
	 *
	 * @return 僼傽僀儖僆僽僕僃僋僩
	 */
	public synchronized File GetFile(){
		return file;
	}

	/**
	 * <p>僼傽僀儖偵儔僀僩偟傑偡丅
	 * <p>偙偺Write儊僜僢僪傪捈愙巊梡偡傞偙偲偼偁傝傑偣傫丅Save儊僜僢僪偐傜屇傃弌偝傟傑偡丅
	 * <BR>僥儞僾儗乕僩儊僜僢僪僷僞乕儞
	 *
	 * @param pw PrintWriter僆僽僕僃僋僩
	 */
	public synchronized void Write(PrintWriter pw) throws GSException{
		pw.println("display=" + Integer.toString(GetDisplay()));
		pw.println("mailer=" + Integer.toString(GetMailer()));
	}

	/**
	 * <p>僨乕僞傪撉傒崬傒傑偡丅
	 * <p>偙偺Read儊僜僢僪傪捈愙巊梡偡傞偙偲偼偁傝傑偣傫丅Load儊僜僢僪偐傜屇傃弌偝傟傑偡丅
	 * <BR>僥儞僾儗乕僩儊僜僢僪僷僞乕儞
	 *
	 * @param bf 僶僢僼傽乕儕乕僟乕
	 */
	public synchronized void Read(BufferedReader bf) throws GSException{
	   try{
			String buf;
			for(buf=bf.readLine();buf!=null;buf=bf.readLine()){
				String value = buf.substring(buf.indexOf("=")+1);
				
				if(buf.startsWith("display"))
					SetDisplay(value);
				if(buf.startsWith("mailer"))
					SetMailer(value);
			}
	   }catch(IOException e){
		   throw new GSException("柤巋娗棟儐乕僓乕僐儞僼僼傽僀儖偺撉崬傒偵幐攕");
	   }
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?