ファイルやディレクトリが存在するか調べたい
File file = new File("test.txt");
if (file.exists()) {
//ファイルが存在する場合
} else {
//ファイルが存在しない場合
}
ファイルかディレクトリを調べたい
if (file.isFile) {
//ファイルが存在
}
if (file.isDirectory()) {
//ディレクトリが存在
}
ファイルやディレクトリを削除したい
File file = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe170/test.txt");
if (!file.delete()) {
System.out.println("ファイルの削除に失敗しました。");
} else {
System.out.println("ファイルの削除に成功しました。");
}
// ディレクトリが空ではないので削除に失敗する
File dir = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe170/foo");
if(!dir.delete()){
System.out.println("ディレクトリの削除に失敗しました。");
}
// 再帰的に削除する
deleteDirectory(dir);
/**
* ディレクトリを再帰的に削除するメソッド
*/
private static void deleteDirectory(File dir) {
// ディレクトリ内のファイルを削除
for (File file : dir.listFiles()) {
if (file.isDirectory()) {
// ディレクトリの場合は再帰的に削除
deleteDirectory(file);
} else {
// ファイルの場合は削除
file.delete();
}
}
// ディレクトリを削除
dir.delete();
}
ファイルを移動したい
File oldFile = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe171/test.txt");
if(oldFile.createNewFile()){
System.out.println(oldFile.getName() + "を作成しました。");
}
File newFile = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe171/readme.txt");
// test.txtをreadme.txtにリネーム
if(oldFile.renameTo(newFile)){
System.out.println(oldFile.getName() + "を" + newFile.getName() + "にリネームしました。");
}
if(newFile.delete()){
System.out.println(newFile.getName() + "を削除しました。");
}
ファイルのサイズを調べたい
/////////////////////////////////////////////////////////////////////////////
// ファイルのサイズをバイト単位で取得
/////////////////////////////////////////////////////////////////////////////
{
File file = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe172/FileLengthSample.java");
long size = file.length();
System.out.println(size);
}
/////////////////////////////////////////////////////////////////////////////
// ディレクトリの場合は0を返す
/////////////////////////////////////////////////////////////////////////////
{
File dir = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe172");
long size = dir.length();
System.out.println(size);
}
ファイルの最終更新日時を調べたい
File file = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe173/FileLastModifiedSample.java");
// ファイルの最終更新日時をミリ秒で取得
long time = file.lastModified();
// 取得した最終更新日時をDateオブジェクトに変換
Date date = new Date(time);
// 取得した最終更新日時をCalendarオブジェクトに変換
Calendar cal = Calendar.getInstance();
cal.setTime(date);
// ファイルの最終更新日時を現在日時に設定
file.setLastModified(System.currentTimeMillis());
ファイルの属性を調べたい
File file = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe174/test.txt");
// ファイルが読み取り可能かどうかを取得
boolean canRead = file.canRead();
System.out.println("読み取り可能:" + canRead);
// ファイルが書き込み可能かどうかを取得
boolean canWrite = file.canWrite ( );
System.out.println("書き込み可能:" + canWrite);
// ファイルが実行可能かどうかを取得
boolean canExecute = file.canExecute ( );
System.out.println("実行可能:" + canExecute);
// ファイルが隠しファイルかどうかを取得
boolean isHidden = file.isHidden ( );
System.out.println("隠しファイルかどうか:" + isHidden);
ファイルの属性を設定したい
package jp.co.shoeisha.javarecipe.chapter06.recipe175;
import java.io.File;
import java.io.IOException;
public class FileSetAttributeSample {
public static void main(String[] args) throws IOException {
File file = new File("src/jp/co/shoeisha/javarecipe/chapter06/recipe175/test.txt");
// ファイルを読み取り可能に設定
file.setReadable(true);
System.out.println(file.canRead());
// ファイルを書き込み可能に設定
file.setWritable(true);
System.out.println(file.canWrite());
// ファイルを実行可能に設定
file.setExecutable(true);
System.out.println(file.canExecute());
}
}
ファイルの絶対パスを取得したい
package jp.co.shoeisha.javarecipe.chapter06.recipe176;
import java.io.File;
import java.io.IOException;
public class FileAbsolutePathSample {
public static void main(String[] args) throws IOException {
/////////////////////////////////////////////////////////////////////////////
// ファイルの絶対パスを取得する
/////////////////////////////////////////////////////////////////////////////
{
File file = new File("src");
System.out.println(file);
// ファイルの絶対パスを取得する
String absolutePath = file.getAbsolutePath();
System.out.println(absolutePath);
}
/////////////////////////////////////////////////////////////////////////////
// ファイルの絶対パスを取得する
/////////////////////////////////////////////////////////////////////////////
{
File file = new File("src");
System.out.println(file);
// 絶対パスを持つFileオブジェクトに変換する
File absoluteFile = file.getAbsoluteFile();
System.out.println(absoluteFile);
}
/////////////////////////////////////////////////////////////////////////////
// パスを正規化する
/////////////////////////////////////////////////////////////////////////////
{
File file = new File("C:\\Users\\takezoe\\..\\test.txt");
// 正規化したパスを取得
String path = file.getCanonicalPath(); // => "C:¥Users¥test.txt"
System.out.println(path);
// 正規化したパスを示すFileオブジェクトを取得
File normalized = file.getCanonicalFile();
System.out.println(normalized);
}
}
}
ディレクトリ内のファイル一覧を取得したい
空のファイルを作成したい
一時ファイルを作成したい