Hej
Finns det någon som har tid och förklara för mig vad som händer/inte händer i Java koden.
Den ursprungliga koden kommer från boken "Java Bible", Aaron Walsh,
John Fronckowiak sid 425, och ska demonsterar "The File Class" i
"java.io.File",hela koden finns i slutet av brevet.
Filen "FileQerry.java" compilerar, men output blir inte det förväntade,
ja, inte vad jag förväntar mig.
code:<pre style="font-size:x-small; font-family: monospace;">
String dirname = "/Java/JavaBible/";
String filename = "read.txt";
File myFile = new File(dirname,filename);</pre>
Det existerar en mapp på min hårddisk som heter JavaBible
"/Users/moof/Java/JavaBible/"
i den mappen finns textfilen "read.txt"
Resten av koden går ut på att visa olika "method" från "The File Class" som
code:<pre style="font-size:x-small; font-family: monospace;"> myFile.isDirectory() //boolean
myFile.isFile() //boolean
myFile.getPath()
myFile.getAbsolutePath()
myFile.canRead() //boolean
myFile.canWrite() //boolean
myFile.lastModified()
myFile.length()
</pre>
OK eftersom mappen "JavaBible" finns där jag uppger och i den ligger
filen "read.txt" så förväntar jag mig:
myFile.isDirectory -->TRUE
myFile.isFile -->TRUE
myFile.getPath --> /Java/JavaBible/
myFile.getAbsolutePath --> /Users/moof/Java/JavaBible/read.txt
myFile.canRead -->TRUE
myFile.canWrite -->TRUE
myFile.lastModified -->Date
myFile.length -->int
Detta är vad output i Terminalen blir:
------------ Terminal text ----------
[localhost:~/Java/JavaBible] moof% java FileQuerry
Is it a directory? false
Is it a real file? false
File Path: /Java/JavaBible/read.txt
Absolute Path: /Java/JavaBible/read.txt
Is file Readable? false
Is file Writeble? false
Modified on: 0
Size (in bytes): 0
___________
[localhost:~/Java/JavaBible] moof%
---------- Slut på Terminal text ----------
Men om jag ändrar "dirname" till:
String dirname = "/Users/moof/Java/JavaBible/read.txt";
fungerar det nästan som tänkt:
------------ Terminal text ----------
[localhost:~/Java/JavaBible] moof% java FileQuerry
Is it a directory? false
Is it a real file? true
File Path: /Users/moof/Java/JavaBible/read.txt
Absolute Path: /Users/moof/Java/JavaBible/read.txt
Is file Readable? true
Is file Writeble? true
Modified on: 1029073720000
Size (in bytes): 4758
[localhost:~/Java/JavaBible] moof%
---------- Slut på Terminal text ----------
Fortfarande ger det FALSE på "myFile.isDirectory()"
Varför???
Jag har en fråga till men jag tror att den hänger ihop med problemet
med path.
-------------- hela filen JavaQuerry.java ------------
code:<pre style="font-size:x-small; font-family: monospace;"> class FileQuerry
{ public static void main (String args[])
{ String dirname = "/Users/moof/Java/JavaBible/";
String filename = "read.txt";
File myFile = new File(dirname,filename);
System.out.println ("Is it a directory? " + myFile.isDirectory());
System.out.println ("Is it a real file? " + myFile.isFile());
System.out.println ("File Path: " + myFile.getPath());
System.out.println ("Absolute Path: " + myFile.getAbsolutePath());
System.out.println ("Is file Readable? " + myFile.canRead());
System.out.println ("Is file Writeble? " + myFile.canWrite());
System.out.println ("Modified on: " + myFile.lastModified());
System.out.println ("Size (in bytes): " + myFile.length());
System.out.println ();
System.out.println ("------ Directory Listing --------");
File dir = new File(dirname);
if(dir.isDirectory() == false){
System.out.println (dirname + " is not a directory!");
}
else
{ System.out.println ("Directory of " + dirname);
String d[] = dir.list();
for(int i = 0; i < d.length; i++){
System.out.println (d[i]);
}
}
}
} </pre>
------------ Slut filen JavaQuerry.java ------------
--
Olof Svensson
[ 11 Augusti 2002, 20:10: Meddelandet ändrat av: Olof Svensson ]