記事のディレクトリ
前書き
ファイルとディレクトリのパス名(ファイルまたはディレクトリのパス名)の抽象表現は、4つの主要なファミリとは何の関係もありません。
注意点:
- Fileクラスは4つの主要なファミリとは関係がないため、Fileクラスはファイルの読み取りと書き込みを完了できません。
- Fileオブジェクトは何を表していますか?ファイル名とディレクトリパス名の抽象表現。
c:\Drivers
これはFileオブジェクトです。c:\Drivers\Lan\Realtek\Readme.txt
これもFileオブジェクトです。Fileオブジェクトはディレクトリまたはファイルに対応する場合があります。
実装コード
ファイルが存在するかどうかを確認します
File f1=new File("D:\\file");
System.out.println(f1.exists());
つまり、ディスクDのルートディレクトリにファイルファイルがありません。
ファイルとして作成
if(!f1.exists()){
f1.createNewFile();
}
ディレクトリとして作成
if(!f1.exists()){
f1.mkdir();
}
補足
複数のディレクトリ(つまり、D:\ file \ file1 \ file2 \ file3)の形式で新しいものを作成します。
f1.mkdirs();
親パスを取得する方法
最初
ファイルの親パスを取得します1:
String parentPath=f1.getParent();
System.out.println(parentPath);
二番目
File parentFile =f1.getParentFile();
System.out.println("获取绝对路径:"+parentFile.getAbsolutePath());
絶対パスを取得する方法
package File;
import java.io.File;
/*
* 1.File 类和四大家族没有关系,所以File类不能完成文件的读写
* 2.File对象代表什么?
* 文件和目录路径名的抽象表示形式
* c:\Drivers 这是一个File对象
* c:\Drivers\Lan\Realtek\Readme.txt 这也是一个File对象
* 一个File对象有可能对应的是目录,也可能是文件
* */
public class FileTest01 {
public static void main(String[] args)throws Exception {
File f1=new File("D:\\file");
//如果D:\file不存在,则以文件的形式创建出来
if(!f1.exists()){
// f1.createNewFile();
}
//如果D:\file不存在,则以目录的形式创建出来
if(!f1.exists()) {
f1.mkdir();
}
File f4=new File("copy");
System.out.println("获取绝对路径:"+f4.getAbsolutePath());
}
}
ファイル名を取得する
File f1=new File("copy");
//获取文件名
System.out.println("文件名:"+f1.getName());
それがディレクトリであるかどうかを確認します。
File f1=new File("copy");
System.out.println(f1.isDirectory());
それがファイルであるかどうかを判別します。
File f1=new File("copy");
System.out.println(f1.isFile());
ファイルの最終変更時刻を取得します
File f1=new File("copy");
long haomiao=f1.lastModified();//这个毫秒是从1970年到现在的总毫秒数
//将总毫秒数转换成日期
Date time=new Date(haomiao);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS") ;
String strTime =sdf.format(time);
System.out.println(strTime);
ファイルサイズを取得する
File f1=new File("copy");
System.out.println(f1.length());
ファイルの名前を変更します
File f1=new File("copy");
File f2=new File("copy1");
f1.renameTo(f2);
実行前
実行後
注:renameTo
関数を呼び出すには、元のファイルの名前を使用する必要があります
現在のディレクトリの下にあるすべてのサブディレクトリを取得します(強調)
現在のディレクトリの下にあるすべてのサブディレクトリを取得します
File[] listFiles()
File f=new File("src");
File[]files=f.listFiles();
for(File file:files){
System.out.println(file.getAbsolutePath());