public class Utility extends java.lang.Object implements AttacheCaseConstant
アタッシェケースで利用するユーティリティ・メソッドを集めたクラスです。 メソッドはすべてstaticになっています。
ARCHIVE_FILE_ATTR, ATC_DATA_FILE_VERSION, ATC_DATA_FILE_VERSION_3, ATC_DATA_FILE_VERSION_MAX, ATC_DATA_SUB_VERSION_6, ATC_DATA_SUB_VERSION_7, ATC_EXTENSION, ATTACHE_CASE_APP_VERSION, BLOWFISH_PASS_FOOTER, BUF_FOOTER_SIZE, BUF_HEADER_SIZE, BUF_PASSWORD_SIZE, BUF_SHA1_SIZE, BUF_SIZE_256, BUF_SIZE_32, CURRENT_FILE_NAME_KEY, DATE_FORMAT_PATTERN, DEBUG, DECRYPT_MODE, DEFAULT_MODE, DESTROY_TOKEN_STRING, ENCRYPT_MODE, FILE_BUFFER_SIZE, INI_FILE_NAME, MAC_INI_FILE_PATH, MSG_CONFIRM_CONTINUE, MSG_CONFIRM_OPEN_DECRYPTED_FILES, MSG_CONFIRM_OVER_WRITE_SAME_DIR, MSG_CONFIRM_OVER_WRITE_SAME_FILE, MSG_ERROR_CHECKSUM, MSG_ERROR_COMPARE_FILE, MSG_ERROR_DIR_EXIST, MSG_ERROR_DISK_SPACE, MSG_ERROR_FILE_DESTORYED, MSG_ERROR_FILE_EXIST, MSG_ERROR_ILLEGAL_PASSWORD, MSG_ERROR_LOWER_VERSION, MSG_ERROR_NO_DIR_NAME, MSG_ERROR_NO_FILE_NAME, MSG_ERROR_NOT_ENCRYPT_FILE, MSG_ERROR_NOT_FILE_EXIST, MSG_ERROR_OUT_FILE_OPEN, MSG_ERROR_OUT_FILE_WRITE, MSG_ERROR_PASSWORD_WRONG, MSG_ERROR_UPPER_VERSION, MSG_INPUT_NEW_DIR, MSG_INPUT_NEW_FILE, MSG_INPUT_PASSWORD, MSG_PROCESS_STOPPED, OLD_DATA_FILE_VERSION, PASSCODE_ATTACHECASE, PROGRESS_BAR_NAME, READ_FILE_BUF_SIZE, READ_ONLY_FILE_ATTR, RESOURCE, RIJNDAEL_BLOCK_SIZE, SHORT_CUT_KEY, SIZE_OF_INT, SIZE_OF_LONG, START_OF_DATE, TOKEN_STRING, TYPE_ALGORISM_BLOWFISH, TYPE_ALGORISM_RIJNDAEL, TYPE_DECODE_FILE, TYPE_ENCODE_FILE, V_GAP_FOR_ICON, VERSION, VERSION_MODE, Z_DEFAULT_COMPRESSION, Z_MAX_COMPRESSION, Z_MIN_COMPRESSION
コンストラクタと説明 |
---|
Utility() |
修飾子とタイプ | メソッドと説明 |
---|---|
static java.util.Date |
convetToDate(double date,
double time)
doubleをDate型に変更します。
|
static java.util.Date |
convetToDate(int date,
int time)
C++のTTimeStamp型をDate型に変更します。
|
static java.lang.String |
decrypt(java.lang.String key,
java.lang.String encryptText)
文字列を復号します。
|
static java.lang.String |
encrypt(java.lang.String key,
java.lang.String text)
文字列を暗号化します。
|
static long |
get00010101Time()
0001年1月1日のlong値を求める
|
static int |
getAtcVersion(java.io.File f)
アタッシェケースファイルのバージョンを取得します
|
static java.lang.String |
getDateTime(java.util.Date date)
Date型オブジェクトを日時文字列に変換します。
|
static long |
getDiskFreeSpace(java.lang.String path)
指定したパスが存在するディスクの空き容量を取得します。
|
static byte[] |
getRandomSalt(int length)
アタッシェケース#3で用いるランダムソルトを取得する
|
static java.lang.String |
getStartupPath()
起動パスを取得します。
|
static java.lang.String |
includeTrailingPathDelimiter(java.lang.String path)
指定したパス名がパス区切り文字で終わるように調整します。
|
static boolean |
isAtcFile(java.io.File f)
アタッシェケースで暗号化されたファイルかどうかを確認します。
|
static boolean |
isMac()
Max上で動作しているかどうかを確認します。
|
static boolean |
isWindows()
OSがWindowsの場合にtrueを返します。
|
static java.lang.String |
rejectPathTraversal(java.lang.String path)
先頭の .
|
static java.lang.String |
replacePlaceHolder(java.lang.String s,
java.lang.Object[] obj)
プレースホルダを指定した値で置き換えます。
|
static boolean |
setFileAttribute(java.lang.String path,
FileAttribute attr) |
static void |
setFileTimeStamp(java.lang.String path,
FileAttribute attr,
boolean now)
ディレクトリまたはファイルの更新日付を指定した日付に設定します。
|
public static java.lang.String includeTrailingPathDelimiter(java.lang.String path)
path
- パス区切り文字で終わっているかどうかをチェックするパス名public static java.lang.String rejectPathTraversal(java.lang.String path)
path
- パス名public static long getDiskFreeSpace(java.lang.String path) throws java.lang.SecurityException
path
- 空き容量を取得するパス名java.lang.SecurityException
- セキュリティ例外public static boolean setFileAttribute(java.lang.String path, FileAttribute attr)
public static void setFileTimeStamp(java.lang.String path, FileAttribute attr, boolean now)
path
- 更新日付を設定するパスattr
- ファイル情報now
- trueを指定すると現在時刻public static boolean isWindows()
public static java.lang.String replacePlaceHolder(java.lang.String s, java.lang.Object[] obj)
プレースホルダは {0} の形で与えます。初期値は 0 から始まります。
s
- - プレースホルダーを含む文字列obj
- - 置き換える値。Objectクラスの配列として与えるpublic static java.util.Date convetToDate(int date, int time)
TTimeStamp型については次の情報を参考にしてください。System.SysUtils.TTimeStamp
date
- - 西暦1年1月1日からの暦日数(1/1/0001 から経過した日数に 1 日追加)を示します。time
- - 午前 0 時から経過したミリ秒数を表します。public static java.util.Date convetToDate(double date, double time)
date
- 西暦1年1月1日からの暦日数を示します。time
- 午前 0 時から経過したミリ秒数を表します。public static java.lang.String getDateTime(java.util.Date date)
date
- 日付public static boolean isMac()
public static boolean isAtcFile(java.io.File f)
f
- 確認するファイルpublic static int getAtcVersion(java.io.File f)
f
- チェックするファイルpublic static java.lang.String encrypt(java.lang.String key, java.lang.String text)
key
- 暗号化用キーtext
- 暗号化する文字列public static java.lang.String decrypt(java.lang.String key, java.lang.String encryptText)
key
- 復号用キーencryptText
- 復号する文字列(Base64でエンコード)public static java.lang.String getStartupPath()
public static byte[] getRandomSalt(int length)
length
- ランダムソルトの長さpublic static long get00010101Time()