mer Java OS X

Tråden skapades och har fått 2 svar. Det senaste inlägget skrevs .
1

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.

Citat:

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

Citat:

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 ------------

Citat:

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 ]

Som vanligt när man ställer en fråga så blir man varse svaret.
Låt mig omformulera frågan.

Varför fungerar inte bokens sätt att skriva path till mappen.

String dirname = "/Java/JavaBible";

Svaret på min första fråga måste vara att ett filobjekt aldrig kan vara en mapp!! Därför false med myFile.isDirectory().

Som vanligt när man ställer en fråga så blir man varse svaret.
Låt mig omformulera frågan.

Varför fungerar inte bokens sätt att skriva path till mappen.

String dirname = "/Java/JavaBible";

Svaret på min första fråga måste vara att ett filobjekt aldrig kan vara en mapp!! Därför false med myFile.isDirectory().

1
Bevaka tråden