Booming!



カテゴリ:[ PC/ネット/モバイル ]


5件の内、新着の記事から10件ずつ表示します。


[5] ConvertDb.java

投稿者: 森山浩和 投稿日:2016年 6月 2日(木)01時15分45秒 KD119104087175.au-net.ne.jp  通報   返信・引用

import java.sql.Time;
import java.sql.Timestamp;
import java.util.Calendar;
import java.util.Date;

public class ConvertDb {

    /***
     * yyyy-MM-dd HH:mm:ss形式の日付をDateに変換します。
     * @param dateStr yyyy-MM-dd HH:mm:ss形式日付
     * @return Date Date型日付
     */
    public Date dateStrToDate(String dateStr) {
        Date result = null;

        if (dateStr != null) {
            Calendar cal = Calendar.getInstance();
            cal.set(Calendar.YEAR,
                Integer.parseInt(dateStr.substring(0, 4)));
            cal.set(Calendar.MONTH,
                Integer.parseInt(dateStr.substring(5, 7)) - 1);
            cal.set(Calendar.DATE,
                Integer.parseInt(dateStr.substring(8, 10)));
            cal.set(Calendar.HOUR_OF_DAY,
                Integer.parseInt(dateStr.substring(11, 13)));
            cal.set(Calendar.MINUTE,
                Integer.parseInt(dateStr.substring(14, 16)));
            cal.set(Calendar.SECOND,
                Integer.parseInt(dateStr.substring(17, 19)));
            cal.set(Calendar.MILLISECOND, 0);
            result = cal.getTime();
        }

        return result;
    }

    /***
     * java.sql.DateをDateに変換します。
     * @param sqldate java.sql.Date型日付
     * @return Date Date型日付
     */
    public Date sqldateToDate(java.sql.Date sqldate) {
        Date result = null;

        if (sqldate != null) {
            result = new Date(sqldate.getTime());
        }

        return result;
    }

    /***
     * Dateをjava.sql.Dateに変換します。
     * @param date Date型日付
     * @return java.sql.Date java.sql.Date型日付
     */
    public java.sql.Date dateToSqldate(Date date) {
        java.sql.Date result = null;

        if (date != null) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.set(Calendar.HOUR_OF_DAY, 0);
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            cal.set(Calendar.MILLISECOND, 0);
            result = new java.sql.Date(cal.getTimeInMillis());
        }

        return result;
    }

    /***
     * TimeをDateに変換します。
     * @param sqltime Time型日付
     * @return Date Date型日付
     */
    public Date sqltimeToDate(Time sqltime) {
        Date result = null;

        if (sqltime != null) {
            result = new Date(sqltime.getTime());
        }

        return result;
    }

    /***
     * DateをTimeに変換します。
     * @param date Date型日付
     * @return Time Time型日付
     */
    public Time dateToSqltime(Date date) {
        Time result = null;

        if (date != null) {
            Calendar cal = Calendar.getInstance();
            cal.setTime(date);
            cal.set(Calendar.YEAR, 1970);
            cal.set(Calendar.MONTH, Calendar.JANUARY);
            cal.set(Calendar.DATE, 1);
            result = new Time(cal.getTimeInMillis());
        }

        return result;
    }

    /***
     * TimestampをDateに変換します。
     * @param timestamp Timestamp型日付
     * @return Date Date型日付
     */
    public Date timestampToDate(Timestamp timestamp) {
        Date result = null;

        if (timestamp != null) {
            result = new Date(timestamp.getTime());
        }

        return result;
    }

    /***
     * DateをTimestampに変換します。
     * @param date Date型日付
     * @return Timestamp Timestamp型日付
     */
    public Timestamp dateToTimestamp(Date date) {
        Timestamp result = null;

        if (date != null) {
            result = new Timestamp(date.getTime());
        }

        return result;
    }

    /***
     * NumberをBooleanに変換します。
     * @param num int型フラグ
     * @return boolean boolean型フラグ(0:false、1:true)
     */
    public boolean numberToBoolean(int num) {
        boolean result = false;

        if (num != 0) {
            result = true;
        }

        return result;
    }

    /***
     * BooleanをNumberに変換します。
     * @param bool boolean型フラグ
     * @return int int型フラグ(false:0、true:1)
     */
    public int booleanToNumber(boolean bool) {
        int result = 0;

        if (bool) {
            result = 1;
        }

        return result;
    }
}




[4] GetAreaId160401Test.java

投稿者: 森山浩和 投稿日:2016年 4月21日(木)01時50分33秒 KD119104099013.au-net.ne.jp  通報   返信・引用   編集済

import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;

import junit.framework.TestCase;

public class GetAreaId160401Test extends TestCase {

/***
* コンストラクタ
* @param name name
*/
public GetAreaId160401Test(String name) {
super(name);
}

/***
* getAreaIdをテストするクラスです。
* @throws Exception 例外発生時
*/
public void testGetAreaId() throws Exception {
int value = 0;
String arg = null;
Map<String, Object> map = new HashMap<String, Object>();

System.out.println("***** 01-01 Begin *****");
try {
// 対象メソッドのクラスのインスタンスを生成
GunSelCommand cmd = new GunSelCommand();

Field field = GunSelCommand.class.getDeclaredField("opData");
field.setAccessible(true);
field.set(cmd, value);
value = (Integer)field.get(cmd);

// 対象メソッドの引数のクラスを配列に格納
Class[] clsArgv = {String.class, Map.class};

// 対象メソッドのインスタンスを生成
Method method = GunSelCommand.class.getDeclaredMethod("check", clsArgv);

// 対象メソッドのアクセスを許可
method.setAccessible(true);

// 対象メソッドを実行
String[] argv = (String[])method.invoke(cmd, new Object[]{arg, map});

assertEquals("0", value.toString());
} catch (Exception exc) {
System.out.println("例外メッセージ[" + exc.getMessage() + "]");
}
System.out.println("***** 01-01 End *****");
}
}



[3] replaceEnv.java

投稿者: 森山浩和 投稿日:2016年 4月 5日(火)02時42分19秒 KD036012015018.au-net.ne.jp  通報   返信・引用

package utils;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class replaceEnv {
    public static final String LINEFEED = System.getProperty("line.separator");
    public static final String CTRLDQ = String.format("%c%c", 0x04, 0x11);

    /**
     * main: 主処理
     * 変換処理の呼び出しを行います。
     * @param args[0] 変換マスタCSVファイル名
     * @param args[1] 変換対象ファイル名
     */
    public static void main (
        String[] args
        ) {
        int status = 1;
        if (2 > args.length) {
            System.out.println(
                "Usage: java utils.replaceEnv convert.csv anyEnv.properties");
            System.exit(status);
        }

        try {
            // 変換テーブル作成
            HashMap<String, String> repTbl = makeEnvConvertTbl(args[0]);

            // ファイル変換
            if (null != repTbl) {
                status = convertEnvProp(args[1], repTbl);
            }
        } catch (FileNotFoundException exc) {
            exc.printStackTrace();
        } catch (IOException exc) {
            exc.printStackTrace();
        } finally {
            System.exit(status);
        }
    }

    /**
     * makeEnvConvertTbl: 変換テーブル作成処理
     * 変換マスタCSVファイルを読み込み、変換テーブル(HashMap型)を作成します。
     * ※CSV各行フォーマット:
     * "置換元をダブルクォート(ダブルクォートのエスケープ文字はダブルクォート)で囲み、その直後にカンマを指定します","置換先(改行を含む指定は可能)をダブルクォートで囲んで指定します"
     * @param csvMst 変換マスタCSVファイル名
     * @return HashMap 変換テーブル
     * @throws FileNotFoundException 例外発生時
     * @throws IOException 例外発生時
     */
    private static HashMap<String, String> makeEnvConvertTbl (
        String csvMst
        ) throws FileNotFoundException, IOException {
        HashMap<String, String> repMap = null;

        try {
            BufferedReader csv = new BufferedReader(
                new FileReader(new File(csvMst)));
            StringBuffer bufCsv = new StringBuffer();
            String line = null;
            while (null != (line = csv.readLine())) {
                bufCsv.append(line);
                bufCsv.append(LINEFEED);
            }
            csv.close();

            if (0 < bufCsv.length()) {
                repMap = new HashMap<String, String>();
                String datCsv = bufCsv.toString();

                // 変換マスタマスク
                datCsv = maskMasterCsv(datCsv,
                    "(\"\")\\s*?" + LINEFEED, CTRLDQ, 0, false);
                datCsv = maskMasterCsv(datCsv,
                    "(\"\")\"\\s*?,", CTRLDQ, 0, false);
                datCsv = maskMasterCsv(datCsv,
                    ",\\s*?\"(\"\")", CTRLDQ, 0, true);

                Pattern patDiv = Pattern.compile("\"\\s*?" + LINEFEED);
                String[] splLine = patDiv.split(datCsv);
                Pattern patSep = Pattern.compile("([^\"])\"\\s*?,\\s*?\"([^\"])");
                for (int ln = 0; splLine.length > ln; ln++) {
                    String[] splCsv = patSep.split(splLine[ln]);
                    Matcher matSep = patSep.matcher(splLine[ln]);
                    if (matSep.find()) {
                        splCsv[0] = splCsv[0].substring(1);
                        splCsv[0] = splCsv[0] + matSep.group(1);
                        splCsv[0] = splCsv[0].replaceAll(CTRLDQ, "\"\"");
                        splCsv[0] = splCsv[0].replaceAll("\"\"", "\"");
                        splCsv[1] = matSep.group(2) + splCsv[1];
                        splCsv[1] = splCsv[1].replaceAll(CTRLDQ, "\"\"");
                        splCsv[1] = splCsv[1].replaceAll("\"\"", "\"");
                        repMap.put(splCsv[0], splCsv[1]);
                    }
                }
            }
        } catch (FileNotFoundException exc) {
            throw exc;
        } catch (IOException exc) {
            throw exc;
        }

        return repMap;
    }

    /**
     * maskMasterCsv: 変換マスタマスク処理
     * 変換テーブル(HashMap型)作成時、
     * 正規表現にマッチしない文字列をマスクします。
     * @param csvDat 変換マスタCSVデータ
     * @param excPat パターン文字列
     * @param mskDat マスク文字列
     * @param offset マスク位置オフセット
     * @param isEnd 末尾基準パターン判定フラグ
     * @return String 変換マスタCSVデータ
     */
    private static String maskMasterCsv (
        String csvDat,
        String excPat,
        String mskDat,
        Integer offset,
        Boolean isEnd
        ) {
        String datCsv = csvDat;

        Pattern patMsk = Pattern.compile(excPat);
        Matcher matMsk = patMsk.matcher(datCsv);
        StringBuffer bufMsk = new StringBuffer();
        Integer indMsk = 0;
        Integer indHit = 0;
        String preHit = null;
        while (matMsk.find()) {
            if (!isEnd) {
                indHit = matMsk.start() + offset;
            } else {
                indHit = matMsk.end() - offset - mskDat.length();
            }
            preHit = datCsv.substring(indMsk, indHit);
            bufMsk.append(preHit);
            bufMsk.append(mskDat);
            indMsk = indHit + mskDat.length();
        }
        if (0 < indMsk) {
            bufMsk.append(datCsv.substring(indMsk));
            datCsv = bufMsk.toString();
        }

        return datCsv;
    }

    /**
     * convertEnvProp: ファイル変換処理
     * 変換テーブル(HashMap型)を元に変換対象ファイルを変換します。
     * @param envPrp 変換対象ファイル名
     * @param repMap 変換テーブル
     * @return Integer 終了ステータス
     * @throws FileNotFoundException 例外発生時
     * @throws IOException 例外発生時
     */
    private static Integer convertEnvProp (
        String envPrp,
        HashMap<String, String> repMap
        ) throws FileNotFoundException, IOException {
        Integer stsExt = 1;

        try {
            File orgEnv = new File(envPrp);
            File tmpEnv = new File(envPrp + "~");
            tmpEnv.delete();
            orgEnv.renameTo(tmpEnv);
            BufferedReader org = new BufferedReader(new FileReader(tmpEnv));
            BufferedWriter tmp = new BufferedWriter(new FileWriter(orgEnv));
            String line = null;
            while (null != (line = org.readLine())) {
                for (String keyCsv : repMap.keySet()) {
                    if (line.equals(keyCsv)) {
                        line = repMap.get(keyCsv);
                    }
                }
                tmp.write(line);
                tmp.newLine();
            }
            tmp.close();
            org.close();

            stsExt = 0;
        } catch (FileNotFoundException exc) {
            throw exc;
        } catch (IOException exc) {
            throw exc;
        }

        return stsExt;
    }
}



[2] generator.java

投稿者: 森山浩和 投稿日:2016年 4月 5日(火)02時41分4秒 KD036012015018.au-net.ne.jp  通報   返信・引用

// Imports.
// Standard modules that we know are in the path or builtin.
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import java.net.InetAddress;
import java.net.UnknownHostException;

import java.text.DateFormat;
import java.text.SimpleDateFormat;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.regex.*;

// Class generator.
class generator {
    // Constants.
    // Common.
    public static String C_LINEFEED =   System.getProperty("line.separator");
    public static String C_CURRENT =    ".";
    public static String C_PATH =       System.getProperty("file.separator");

    // Properties.
    // Log-filename.
    private static String _sFnLog = C_CURRENT + C_PATH + "LocalMsg.log";

    // Method main.
    public static void main (
        String[] args
        ) {

        String sMsg = "Message..." + C_LINEFEED;
        String[] sKey = new String[10];
        Integer[] nVal = new Integer[10];

        Integer nAryNo = 0;
        sKey[nAryNo++] = "1st.";
        sKey[nAryNo++] = "12";
        sKey[nAryNo++] = "2nd.";
        sKey[nAryNo] = "23";
        sKey[++nAryNo] = "3rd.";

        for (Integer nKyCnt = 0; sKey.length > nKyCnt; nKyCnt++) {
            try {
                Boolean bIsNull = sKey[nKyCnt].isEmpty();
                if (!bIsNull) {
                    System.out.println(sKey[nKyCnt]);
                    nVal[nKyCnt] = nKyCnt;
                }
            } catch (NullPointerException oExcept) {
                continue;
            }
        }
        System.out.println("----");

        // 引数が可変長の関数
        System.out.println(_sumAll());
        System.out.println(_sumAll(nVal[3]));
        System.out.println(_sumAll(nVal[3], nVal[2], nVal[1]));
        System.out.println("----");

        // 文字列を数値へ変換
        Integer nCnvNo = Integer.parseInt(sKey[1]);
        nCnvNo += 10;
        System.out.println(nCnvNo);
        System.out.println("----");

        // 文字列同士の比較
        if (sKey[1].equals(sKey[3])) {
            System.out.println("match.");
        } else {
            System.out.println("unmatch...");
        }
        System.out.println("----");

        // ファイル一覧の取得
        File oCurDir = new File(C_CURRENT);
        String[] sDir = oCurDir.list();
        for (Integer nDrCnt = 0; sDir.length > nDrCnt; nDrCnt++) {
            System.out.println(sDir[nDrCnt]);
        }
        System.out.println("----");

        // ログの出力
        Boolean bIsLog = _writeLog(_sFnLog, sMsg);

        // 現在日時の取得
        Calendar oNow = Calendar.getInstance();
        System.out.println(oNow.toString());
        System.out.println("----");

        DateFormat oDtNow = new SimpleDateFormat("HH:mm:ss");
        System.out.println(oDtNow.format(oNow.getTime()));
        System.out.println("----");

        // 可変長配列の利用例

        // ジェネリックスでは、int型やfloat型などの基本型が使えない
        // その代わり、ラッパークラスを使用する事

        // After J2SE5.0, using generics.
        ArrayList<Integer> aDtNow = new ArrayList<Integer>();
        aDtNow.clear();
        aDtNow.add(new Integer(oNow.get(Calendar.YEAR)));
        aDtNow.add(new Integer(oNow.get(Calendar.MONTH) + 1));
        aDtNow.add(new Integer(oNow.get(Calendar.DATE)));
        aDtNow.add(new Integer(oNow.get(Calendar.HOUR_OF_DAY)));
        aDtNow.add(new Integer(oNow.get(Calendar.MINUTE)));
        aDtNow.add(new Integer(oNow.get(Calendar.SECOND)));
        System.out.println(aDtNow);
        System.out.println("----");

        Integer nInd = aDtNow.indexOf(oNow.get(Calendar.YEAR));
        aDtNow.set(nInd, new Integer(oNow.get(Calendar.YEAR) -
            ((2000 > aDtNow.get(nInd)) ? 1900 : 2000)));
        System.out.println(aDtNow);
        System.out.println("----");

        // ハッシュ(連想配列)の利用例

        // キーをString型、要素をInteger型としてハッシュを作成する
        HashMap<String, Integer> aDtCur = new HashMap<String, Integer>();
        aDtCur.clear();
        aDtCur.put(new String("Year"),
            new Integer(oNow.get(Calendar.YEAR)));
        aDtCur.put(new String("Month"),
            new Integer(oNow.get(Calendar.MONTH) + 1));
        aDtCur.put(new String("Date"),
            new Integer(oNow.get(Calendar.DATE)));
        aDtCur.put(new String("Hour"),
            new Integer(oNow.get(Calendar.HOUR_OF_DAY)));
        aDtCur.put(new String("Minute"),
            new Integer(oNow.get(Calendar.MINUTE)));
        aDtCur.put(new String("Second"),
            new Integer(oNow.get(Calendar.SECOND)));
        System.out.println(aDtCur.keySet());
        System.out.println(aDtCur.values());
        System.out.println("----");

        Long lEpcTm = oNow.getTimeInMillis();
        System.out.println(lEpcTm.toString());
        System.out.println("----");

        // ハッシュのDBライクな利用例

        // 社員番号(String型)をキー、
        // 社員番号CSV(String型)を要素としてハッシュを作成する
        HashMap<String, String> aDbAdr = new HashMap<String, String>();
        aDbAdr.clear();
        aDbAdr.put(new String("001256"),
            new String("森山浩和" + "," + "hirokazu.moriyama@jse.jp"));
        aDbAdr.put(new String("000068"),
            new String("青木宗一" + "," + "souichi.aoki@jse.jp"));
        aDbAdr.put(new String("001088"),
            new String("飯塚敏夫" + "," + "toshio.iizuka@jse.jp"));
        System.out.println(aDbAdr.keySet());
        System.out.println(aDbAdr.values());
        System.out.println("----");

        // コンパイル済みの正規表現を利用したデータ抽出方法

        // Create a pattern to match breaks.
        Pattern oSepPat = Pattern.compile(",");

        // After J2SE5.0, using extended for.
        for (String sSepElm : aDbAdr.keySet()) {
            // Split input with the pattern.
            String[] sElm = oSepPat.split(aDbAdr.get(sSepElm));
            for (String sAdr : sElm) {
                System.out.println(sAdr);
            }
        }
        System.out.println("----");

        // ホスト名の取得
        try {
            System.out.println(InetAddress.getLocalHost().getHostName());
        } catch (UnknownHostException oExcept) {
            System.out.println(oExcept);
        }
        System.out.println("----");

        System.exit(0);
    }

    private static Integer _sumAll (
        // After J2SE5.0, using variables.
        Integer... nVals
        ) {

        Integer nSum = 0;

        if (0 < nVals.length) {
            for (Integer nVlCnt = 0; nVals.length > nVlCnt; nVlCnt++) {
                nSum += nVals[nVlCnt];
            }
        }

        return nSum;
    }

    private static Boolean _writeLog (
        String sFnLog,
        String sMsgLog
        ) {

        try {
            FileWriter oLgOut = new FileWriter(new File(sFnLog), true);
            oLgOut.write(sMsgLog);
            oLgOut.close();
        } catch (IOException oExcept) {
            System.out.println(oExcept);
            return false;
        }

        return true;
    }
}



[1] 掲示板が完成しましたキラキラ

投稿者: teacup.運営 投稿日:2016年 4月 5日(火)02時35分48秒 KD036012015018.au-net.ne.jp  通報   返信・引用

ご利用ありがとうございます。

teacup.掲示板は
ダイヤスレッド作り放題右上
ダイヤ画像・動画・音楽の投稿OK
ダイヤケータイ絵文字が使えるv▽v
ダイヤRSS対応ヒラメイタ!
ダイヤかわいいケータイテンプレハートx2

足跡足あと帳はコチラ
スレッド内容は管理画面内「スレッドの管理」から編集できます。


レンタル掲示板
5件の内、新着の記事から10件ずつ表示します。

お知らせ · よくある質問(FAQ) · お問合せ窓口 · teacup.レンタル掲示板

© GMO Media, Inc.