1つのFileクラスを使用します
クラス1.1ファイルの概念
- java.io.Fileのクラスは無関係な、とプラットフォームのファイルやディレクトリのパスの抽象表現です。
- Fileクラスは、作成、削除、ファイルやディレクトリの名前を変更しますが、Fileクラスは、ファイル自体の内容にアクセスすることはできません。あなたは、ファイル自体の内容にアクセスする必要がある場合は、入力/出力ストリームを使用する必要があります。
- 実際のJavaプログラムファイルまたはディレクトリに表示するには、対応するFileオブジェクトを持っている必要がありますが、JavaプログラムのFileオブジェクト、実際のファイルまたはディレクトリを持っていないかもしれません。
- Fileオブジェクトストリームは、引数として、コンストラクタに渡すことができます。
1.2 Fileクラスのコンストラクタ
- ファイルオブジェクトは、パス(相対および絶対パス)に基づいて作成されます。
パブリックファイル(文字列のパス名){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新しいファイル( "D:\\ A.TXT" ); } }
- 親へのパスの親は、子供がサブパスのFileオブジェクトを作成します。
公共ファイル(文字列の親、文字列の子){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新しいファイル( "D:\\"、 "A.TXT" ); } }
- 親と子ファイルパスに応じてFileオブジェクトのFileオブジェクトを作成します。
公共ファイル(ファイルの親、文字列の子){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新規ファイル(新規新しいファイル( "D:\\")、「 .TXT " ); } }
1.3 Fileクラスのパス区切り文字
- ディレクトリパス内の各ステージ間に間隔を置いて配置パス区切り文字を使用します。
- パスの区切りと関連システム:
- 表現するためのデフォルトを使用して、WindowsとDOSシステム「\」。
- UNIXは、表現するために「/」を使用します
- パスセパレータは注意して使用するようにJavaプログラムは、クロスプラットフォームの動作をサポートします。
- 異なる区切り文字と異なるプラットフォームの経路を解決するために、ファイルパスの区切りを表すために、定数を提供します。
パブリック 静的 最終的な文字列の区切り=「」+ separatorCharです。
1.4 Fileクラスの一般的な方法
- 絶対パスを取得します:
パブリック文字列getAbsolutePath(){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新規ファイル(新規新しいファイル( "D:\\")、「 .TXT " ); System.out.printlnは( "絶対パスを取得:「+ file.getAbsolutePath()); // 実際の場合、ファイルまたはディレクトリが存在するが、それは問題ではありません } }
- パスを取得します。
パブリックストリングある、getPath(){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新規ファイル(新規新しいファイル( "D:\\")、「 .TXT「); System.out.printlnは(」パスを取得:「+ file.getPath()); // ここでのパスは、パス(相対パスまたは絶対パス)ファイルのコンストラクタ、実際の状況を指します、ファイルまたはディレクトリが存在し、この方法の観点から、それは問題ではありません } }
- 名前を取得します。
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新規ファイル(新規新しいファイル( "D:\\")、「C .TXT「); System.out.printlnは(」名前を取得:「+ file.getNameを()); // ここでの名前は、単に名前のファイルのコンストラクタファイルまたはディレクトリを表し、実際のファイルまたはディレクトリが存在します、この方法は重要ではありません } }
- トップにファイルまたはディレクトリのパスを取得します(そうでない場合は、nullを返します):
パブリック文字列のgetParent(){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新規ファイル(新規新しいファイル( "D:\\")、「C .TXT " ); のSystem.out.println( "ディレクトリまたはファイルの上部のパスを取得する:「+ file.getParent()); } }
- (ファイルが存在しない場合は、ディレクトリの長さを得ることができない、0を返し、バイトすなわち数)ファイルの長さを取得します。
公共 長い長さ(){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新規ファイル(新規新しいファイル( "D:\\")、「C .TXT " ); のSystem.out.println( "ファイルの長さを取得する:「+ file.lengthを()); } }
- 最終更新時刻、ミリ秒の値(ファイルが存在しない場合は、0を返します。)を取得します:
公衆 ロング LASTMODIFIED(){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新規ファイル(新規新しいファイル( "D:\\")、「C .TXT " ); System.out.printlnは( "最終更新時刻を取得する:「+ file.lastModified()); } }
- 指定されたディレクトリの下にあるすべてのファイルやディレクトリの配列の名前を取得します。
パブリック文字列[]リスト(){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイルファイル = 新しい新しいファイル( "D:\\" ); 文字列[]はファイル名 = 用File.List() のための(文字列名:filename)で{ するSystem.out.println( "指定されたディレクトリ内のファイル名:" + 名); } } }
- ファイルの指定したディレクトリの下にあるすべてのファイルまたはディレクトリの配列を取得します。
パブリックファイル[] LISTFILES(){}
- 例:
以下のためのパッケージ変更day19; インポートjava.io.Fileには、 / ** * @motto:1は3000マイルを戦ったが、時に剣万人の兵士。 * @Author :過去を乱さないように、残りはただ笑うのが大好き。 * @Version :1.0 * @since :2019年6月30日 * / パブリック クラスファイルテスト{ 公共 静的 ボイドメイン(文字列[]引数){ ファイル[]ファイル = 新しい新しいファイル( "D:\\" ).listFiles() ; のために(ファイルのファイル:ファイル){ System.out.printlnは(「指定されたディレクトリ内のファイルオブジェクトファイルやディレクトリを取得します:」+のファイルを); } } }