Java Tips – サンプルプログラムのスーパークラス&設定ファイル


今後、展開するサンプルプログラムのスーパークラスです。

package net.tk_factory.example;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ResourceBundle;

/**
 * サンプルプログラムのスーパークラスです。<br/>
 * 全てのサンプルプログラムは、このクラスを継承して作成します。<br/>
 *
 * @author Takafumi Kondo (TK Factory)
 */
public abstract class AbstractExample
{
    /** ファイル入出力用ディレクトリ */
    protected static final String EXAMPLE_FILE_DIRECTORY =
            ResourceBundle.getBundle("Example").getString("EXAMPLE_FILE_DIRECTORY");

    /**
     * AbstractExampleオブジェクトを構築すると、
     * UnsupportedOperationExceptionがスローされます。<br/>
     */
    protected AbstractExample()
    {
        throw new UnsupportedOperationException();
    }

    /**
     * 例外のスタックトレースを文字列に変換します。<br/>
     *
     * @param ex 例外
     * @return スタックトレース
     */
    protected static String getStackTrace(Throwable ex)
    {
        StringWriter sw = new StringWriter();
        ex.printStackTrace(new PrintWriter(sw));
        String detail = sw.toString();
        try
        {
            sw.close();
        }
        catch (IOException e)
        {
            // 例外が発生しても処理続行する
        }
        return detail;
    }

    /**
     * ファイルが存在するかどうかチェックし、
     * 存在する場合はファイルを削除します。<br/>
     *
     * @param name ファイル名
     */
    protected static void deleteExistsFile(String name)
    {
        File file = new File(name);
        if (file.exists())
        {
            file.delete();
        }
    }

    /**
     * ファイルが存在するかどうかチェックし、
     * 存在しない場合はIOExceptionをスローします。<br/>
     *
     * @param name ファイル名
     * @throws IOException 指定されたファイルが存在しない場合
     */
    protected static void checkExistsFile(String name)
        throws IOException
    {
        File file = new File(name);
        if (!file.exists())
        {
            StringBuffer msg = new StringBuffer();
            msg.append("Not Exists File [")
                .append(name)
                .append("]");
            throw new IOException(msg.toString());
        }
    }
}

プロパティファイルです。

#--------------------------------------------------
# Example.properties
#
# @author Takafumi Kondo (TK Factory)
#--------------------------------------------------
#サンプルファイルの入出力ディレクトリ
EXAMPLE_FILE_DIRECTORY=C:/5iveSTAR_Example/ExampleFile/

Log4jの設定ファイルです。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration
    xmlns:log4j="http://jakarta.apache.org/log4j/">

  <appender name="stdout"
      class="org.apache.log4j.ConsoleAppender">
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern"
           value="%d{yyyy/MM/dd HH:mm:ss.SSS} [%-5p]:%5r:%m%n" />
    </layout>
  </appender>

  <root>
    <priority value ="debug" />
    <appender-ref ref="stdout"/>
  </root>

</log4j:configuration>

関連記事

  1. コメント 0

  1. トラックバック 0

return top