2011-11-19 40 views
-2

這是迄今爲止我所擁有的。當我在JFileDialog中輸入沒有擴展名的文件名時,我找到了文件,但是我無法獲得大小......擴展名的大小...但是我想得到它的擴展名無法添加文件的擴展名(使用JFileDialog)無法獲取文件的大小

public class DirScanner { 

    public static void main(String[] argv) throws IOException { 

     FileDialog fd = new FileDialog(new Frame()); 
     fd.setVisible(true);//make the jfilechooer visible 
     if (fd.getFile() != null) { 

      File f = new File(fd.getDirectory(), fd.getFile());//svae directory path and name of file 
      String p = null; 
      File fi = new File(fd.getDirectory());//store directory 

      String[] d = fi.list();//store all file in directory 
      for (int i = 0; i < d.length; i++) { 
       if (d[i] != null) { 

        //checks if wat the user type in the Jfieldoalog matches wat is in teh directory 
        if (d[i].matches(fd.getFile()) || d[i].startsWith(fd.getFile())) { 

         //gets the extension of teh file 
         p = d[i]; 
         int dot = p.lastIndexOf("."); 
         String word = p.substring(0, dot); 
         String w = p.toUpperCase().substring(dot + 1); 


         System.out.println("\nFile Found\n");//output that file is found 

         //Display name of file with and without extension 
         System.out.println("Name of File: " + d[i]+ "\n"+ "File Name Without Extension: " + word + "\n" + "File type: " + w); 
        } 
       } 
      } 
      //output size of fiel 
      System.out.printf("size: " + f.length()); 
     } 
    } 
} 
+0

你的代碼和問題沒有多大意義。您正在自己掃描目錄以查找該文件,但是當您找到該文件時,您無法從該文件獲取該文件的長度,而是從JileChooser返回的文件中獲取該文件。 – EJP

+0

我知道有什麼不對,但我不知道如何解決它可以幫助你嗎? –

+0

我剛剛做到了。再讀一遍。 – EJP

回答

0

嘗試的掃描過程中構造一個新的File實例:

File file = new File(fd.getDirectory(), p); 
System.out.println("size: " + file.length()); 
+0

謝謝你們.. @orien它確實工作!噢!你知道什麼關於閱讀文件頭來獲取文件類型(擴展名)在Java? –

相關問題