0

私が作成したファイルを検索し、その詳細の一部を出力する短いプログラムを作成しました。問題なく実行されますが、ファイル サイズや非表示かどうかを検出できません。例えば

file path: C:\temp\filetext.txt last modified: 0 file size: 0 Is file hidden?false

ファイルはCの一時フォルダーに存在します。問題が何であるかはよくわかりません

public void Q1()
{
    String fileName = "filetext.txt";
    getFileDetails(fileName);
}

public void getFileDetails(String fileName)
{
    String dirName = "C:/temp/";
    File productsFile = new File(dirName + fileName);
    long size = productsFile.length();
    System.out.println("file path: " + productsFile.getAbsolutePath() + " last modified: " + productsFile.lastModified() + " file size: " + productsFile.length() + " Is file hidden?" + productsFile.isHidden());
}
4

1 に答える 1

2

ファイルは、操作する物理ファイルを必要としません。したがって、File オブジェクトが表すはずの物理ファイルが存在しない/見つからない場合でも、File オブジェクトは存在できます。JavaDoc でlength()と を確認してください。たとえば、ファイルが存在しない場合はlastModified()両方とも返されます。そのため、他のメソッドを0L呼び出す前に を呼び出して、File オブジェクトがファイル システム上の既存のファイルにリンクされていることを確認してください。file.exists()

于 2013-05-01T17:14:51.277 に答える