Java File類の学習
19287 ワード
Fileクラスの概要
java.io.File類はファイルとディレクトリパス名の抽象的な表現で、主にファイルとディレクトリの作成、検索、削除などの操作に用いられます。
Fileクラスの部分構造方法
パスセパレータとデフォルトの名前のセパレータ
システムに依存するデフォルトの名前のセパレータ
システムに依存するパスの区切り記号
File類の部分構造方法の使用
Fileクラス取得機能の一般的な方法
これらの方法の使用
File類判定機能の一般的な方法
これらの方法の使用
Fileクラスから削除機能を作成するための一般的な方法
新しい空のファイルを作成します。
ファイルまたはディレクトリを削除します。
ディレクトリを作成
カタログ集(親子孫カタログ)を作成します。
Fileディレクトリの巡回機能
この二つの方法の使用
java.io.File類はファイルとディレクトリパス名の抽象的な表現で、主にファイルとディレクトリの作成、検索、削除などの操作に用いられます。
Fileクラスの部分構造方法
/**
* File 。
*/
private File(String child, File parent) {
...
}
/**
* File 。
*/
public File(String pathname) {
...
}
パスセパレータとデフォルトの名前のセパレータ
// 。 file.separator
。
// UNIX , '/'
; Microsoft Windows , '\'
。
public static final char separatorChar = fs.getSeparator();
// , 。
public static final String separator = "" + separatorChar;
// 。 path.separator
。
// 。 UNIX , ':'
;
// Microsoft Windows , ';'
。
public static final char pathSeparatorChar = fs.getPathSeparator();
// ,
public static final String pathSeparator = "" + pathSeparatorChar;
以下、Unixシステムに基づくmacOSシステムを例にとって説明する。システムに依存するデフォルトの名前のセパレータ
import java.io.File;
public class Demo01Separator {
public static void main(String[] args) {
// 。
char separatorChar = File.separatorChar;
System.out.println(" '" + separatorChar + "'");
// , 。
String separatorString = File.separator;
System.out.println(" '" + separatorString + "'");
}
}
:
'/'
'/'
システムに依存するパスの区切り記号
import java.io.File;
public class Demo01PathSeparator {
public static void main(String[] args) {
//
char pathSeparatorChar = File.pathSeparatorChar;
System.out.println(" '" + pathSeparatorChar + "'");
// ,
String pathSeparatorString = File.pathSeparator;
System.out.println(" '" + pathSeparatorString + "'");
}
}
:
':'
':'
プログラムはプラットフォームをまたぐ場合が多いので、パスを書き込みせずに、複数の静的メンバー変数を使ってセパレータを取得できます。File類の部分構造方法の使用
public class Demo02File {
public static void main(String[] args) {
// File 。
File file1 = new File("~/IdeaProjects/Study/src/view/study/demo27/Demo02File.java");
System.out.println(file1);
// File 。
File file2 = new File("~/IdeaProjects/Study/", "/src/view/study/demo27/Demo02File.java");
System.out.println(file2);
}
}
:
~/IdeaProjects/Study/src/view/study/demo27/Demo02File.java
~/IdeaProjects/Study/src/view/study/demo27/Demo02File.java
Fileクラス取得機能の一般的な方法
public String getAbsolutePath(): File 。
public String getPath(): File 。
public String getName(): File 。
public long length(): File 。
これらの方法の使用
import java.io.File;
public class Demo01FileMethod {
public static void main(String[] args) {
File file = new File("~/IdeaProjects/Study/src/view/study/demo27/Demo01FileMethod.java");
// File 。
String fileAbsolutePath = file.getAbsolutePath();
// File 。
String filePath = file.getPath();
// File 。
String fileName = file.getName();
// File 。
long fileLength = file.length();
System.out.println(" :" + fileAbsolutePath);
System.out.println(" :" + filePath);
System.out.println(" :" + fileName);
System.out.println(" :" + fileLength);
}
}
:
:/Users/liyihua/IdeaProjects/Study/~/IdeaProjects/Study/src/view/study/demo27/Demo01FileMethod.java
:~/IdeaProjects/Study/src/view/study/demo27/Demo01FileMethod.java
:Demo01FileMethod.java
:0
ファイルパスが存在しません。戻りファイルの長さは0です。File類判定機能の一般的な方法
public boolean exists(): File 。
public boolean isDirectory(): File 。
public boolean isFile(): File 。
これらの方法の使用
import java.io.File;
public class Demo02FileMethod {
public static void main(String[] args) {
File file = new File("/Users/liyihua/IdeaProjects/Study/src/view/study/demo27");
boolean exiFile = file.exists();
boolean isD = file.isDirectory();
boolean isF = file.isFile();
System.out.println(" :" + exiFile);
System.out.println(" :" + isD);
System.out.println(" :" + isF);
}
}
:
:true
:true
:false
ファイルかディレクトリかどうかを判断する場合、パスは必ず存在します。そうでないとfalseに戻ります。Fileクラスから削除機能を作成するための一般的な方法
public boolean createNewFile(): , 。
public boolean delete(): File 。
public boolean mkdir(): File 。
public boolean mkdirs(): File , 。
新しい空のファイルを作成します。
import java.io.File;
import java.io.IOException;
public class Demo03FileMethod {
public static void main(String[] args) throws IOException {
File file = new File("/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/test.txt");
file.createNewFile();
}
}
——test.txt
ファイルまたはディレクトリを削除します。
import java.io.File;
import java.io.IOException;
public class Demo04FileMethod {
public static void main(String[] args) throws IOException {
File file = new File("/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/test.txt");
file.delete();
}
}
(test.txt)
ディレクトリを作成
import java.io.File;
import java.io.IOException;
public class Demo05FileMethod {
public static void main(String[] args) throws IOException {
File file = new File("/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/test");
file.mkdir();
}
}
——test
カタログ集(親子孫カタログ)を作成します。
import java.io.File;
import java.io.IOException;
public class Demo06FileMethod {
public static void main(String[] args) throws IOException {
File file = new File("/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/t1/t2/t3");
file.mkdirs();
}
}
“/Users/liyihua/IdeaProjects/Study/src/view/study/demo27” /t1/t2/t3
Fileディレクトリの巡回機能
public String[] 1ist(): String , File 。
public File[] listFiles(): File , File 。
この二つの方法の使用
import java.io.File;
public class Demo07FileMethod {
public static void main(String[] args) {
File file = new File("/Users/liyihua/IdeaProjects/Study/src/view/study/demo27");
// String
String[] stringList = file.list();
// File
File[] fileList = file.listFiles();
//
for (String s : stringList) {
System.out.println(s);
}
System.out.println("
");
for (File f : fileList) {
System.out.println(f);
}
}
}
:
Demo01PathSeparator.java
Demo01File.java
Demo01FileMethod.java
Demo06FileMethod.java
Demo07FileMethod.java
Demo02FileMethod.java
File
Demo05FileMethod.java
Demo02File.java
Demo04FileMethod.java
Demo01Separator.java
Demo03FileMethod.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo01PathSeparator.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo01File.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo01FileMethod.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo06FileMethod.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo07FileMethod.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo02FileMethod.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/ File
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo05FileMethod.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo02File.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo04FileMethod.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo01Separator.java
/Users/liyihua/IdeaProjects/Study/src/view/study/demo27/Demo03FileMethod.java