1 - 7 : ファイル名ユーティリティクラス

1 - 7 : ファイル名ユーティリティクラス

ファイル名編集ユーティリティクラスです。ファイルのフルパス名からファイル名、ファイル名本体、拡張子、存在フォルダを取得します。

[AmFileUtilities.java]

import java.io.File;

/**

* ファイル名操作クラス

*/

public class AmFileUtilities {

/**

* コンソールでテストを行います。

* 実行例) java AmsFileTools index.html

*/

public static void main(String args[]){

System.out.println(""getExtension:"" + args[0] + "" > "" + getExtension(args[0]));

System.out.println(""getBody :"" + args[0] + "" > "" + getBody(args[0]));

System.out.println(""getFile :"" + args[0] + "" > "" + getFile(args[0]));

System.out.println(""getPath :"" + args[0] + "" > "" + getPath(args[0]));

}

/**

* ファイル名から拡張子を取得します。

* 例) index.html > html

* @param filename ファイル名

* @return filename の拡張子。取得できない場合は """"

*/

public static String getExtension(String filename){

int index = filename.lastIndexOf(""."");

if( index > -1 )

return filename.substring(index + 1);

else

return """";

}

/**

* ファイル名からファイル名本体を取得します。

* 例)

* index.html > index

* C:\web\index.html > index

* @param filename ファイル名

* @return filename の本体名。取得できない場合は filename

*/

public static String getBody(String filename){

String result;

// 拡張子を削除

int index = filename.lastIndexOf(""."");

if( index > -1 )

result = filename.substring(0, index);

else

result = new String(filename);

// パスを削除

index = result.lastIndexOf(File.separator);

if( index > -1 )

result = result.substring(index + 1);

return result;

}

/**

* フルパスファイル名からファイル名を取得します。

* 例)

* index.html > index.html

* C:\web\index.html > index.html

* @param filename フルパスのファイル名

* @return filename のファイル名。取得できない場合は filename

*/

public static String getFile(String filename){

// パスを削除

int index = filename.lastIndexOf(File.separator);

if( index > -1 )

return filename.substring(index + 1);

else

return filename;

}

/**

* フルパスからパス名を取得します。

* 例)

* index.html >

* C:\web\index.html > C:\web

* @param filename フルパスのファイル名

* @return filename のパス名。取得できない場合は """"

*/

public static String getPath(String filename){

// パスを削除

int index = filename.lastIndexOf(File.separator);

if( index > 0 )

return filename.substring(0, index);

else

return """";

}

}

実行結果 (java AmFileUtilities C:\eclipse\eclipse.exe)

getExtension:C:\eclipse\eclipse.exe > exe

getBody :C:\eclipse\eclipse.exe > eclipse

getFile :C:\eclipse\eclipse.exe > eclipse.exe

getPath :C:\eclipse\eclipse.exe > C:\eclipse