java:class_file

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
java:class_file [2016/03/18 15:17]
gthanos
java:class_file [2016/03/18 15:45]
gthanos [Παραδείγματα]
Line 11: Line 11:
 <code java> <code java>
 File currentDir = new File("​."​);​ File currentDir = new File("​."​);​
 +</​code>​
 +
 +
 +Αν θέλετε να δημιουργήσετε ένα αντικείμενο File για το αρχείο myFavoritSong.mp3 που βρίσκεται μέσα στον κατάλογο C:​\Users\<​YourUsername>​\Music\ (αντικαταστήστε το <​YourUsername>​ με το username σας στο λειτουργικό σύστημα Windows), τότε αρκεί να γράψετε
 +<code java>
 +File favoritSong = new File("​C:​\Users\<​YourUsername>​\Music\myFavoritSong.mp3"​);​
 </​code>​ </​code>​
  
Line 17: Line 23:
 Βασικές μέθοδοι της κλάσης File είναι οι παρακάτω:​ Βασικές μέθοδοι της κλάσης File είναι οι παρακάτω:​
   * ''​public boolean canExecute()''​ : Ελέγχει εάν το αρχείο είναι εκτελέσιμο.   * ''​public boolean canExecute()''​ : Ελέγχει εάν το αρχείο είναι εκτελέσιμο.
 +  * ''​public boolean canRead()''​ : Ελέγχει εάν μπορούμε να ανοίξουμε το αρχείο για διάβασμα.
 +  * ''​public boolean canWrite()''​ : Ελέγχει εάν μπορούμε να ανοίξουμε το αρχείο για γράψιμο.
 +  * ''​public boolean delete()''​ : Επιχειρεί να διαγράψει το αρχείο ή κατάλογο. Επιστρέφει **true** εάν επέτυχε η διαγραφή,​ διαφορετικά **false**.
 +  * ''​public boolean exists()''​ : Ελέγχει εάν το συγκεκριμένο αντικείμενο αντικατοπτρίζει ένα πραγματικό αρχείο ή κατάλογο στο filesystem.
 +  * ''​public String getAbsolutePath()''​ : Επιστρέφει το απόλυτο path για ένα υπαρκτό αρχείο ή κατάλογο. Η συγκεκριμένη μέθοδος έχει νόημα εάν έχετε δημιουργήσει το αντικείμενο χρησιμοποιώντας ένα σχετικό path αντί για απόλυτο. ​
 +  * ''​public String getName()''​ : Επιστρέφει μόνο το όνομα του αρχείου ή καταλόγου του.
 +  * ''​public boolean isDirectory()''​ : Ελέγχει εάν το συγκεκριμένο αντικείμενο αντιπροσωπεύει ένα directory.
 +  * ''​public boolean isFile()''​ : Ελέγχει ένα το συγκεκριμένο αντικείμενο είναι απλό αρχείο (όχι directory, , όχι ειδικό αρχείο).
 +  * ''​public long length()''​ : Επιστρέφει το μήκος του αρχείου.
 +  * ''​public String[] list()''​ : Επιστρέφει ένα πίνακα από Strings που περιέχει τα ονόματα των περιεχόμενων αρχείων. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**.
 +  * ''​public File[] listFiles()''​ : Επιστρέφει ένα πίνακα από Files που περιέχει τα αντικείμενα File για τα περιεχόμενα αρχεία. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**.
 +  ​
 +===== Παραδείγματα =====
  
 +Με χρήση της κλάσης File δημιουργήστε ένα πρόγραμμα που εκτυπώνει μία λίστα με τα περιεχόμενα των αρχείων του τρέχοντος Directory (ένα σε κάθε γραμμή).
 +<code java CurrentDirList.java>​
 +import java.io.File*;​
  
-Αν θέλετε να δημιουργήσετε ένα αντικείμενο File για το αρχείο myFavoritSong.mp3 που βρίσκεται μέσα στον κατάλογο C:​\Users\<​YourUsername>​\Music\ ​(αντικαταστήστε το <​YourUsername>​ με το username σας στο λειτουργικό σύστημα Windows), τότε αρκεί να γράψετε +public class CurrentDirList { 
-<code java> +  public static void main(String []args{ 
-File favoritSong ​= new File("C:​\Users\<​YourUsername>​\Music\myFavoritSong.mp3");+    File currentDir ​= new File("​."​);​ 
 +    Files files[] = currentDir.listFiles();​ 
 +    for(File f : files) { 
 +      System.out.println(f.getName());​ 
 +    } 
 +  } 
 +}
 </​code>​ </​code>​
 +
 +Στη συνέχεια εξελίσσουμε το πρόγραμμα ώστε
 +  - να λαμβάνει το directory από την γραμμή εντολών
 +  - να εκτυπώνει μόνο αρχεία με κατάληξη **.doc**.
 +
 +<code java CurrentDirList.java>​
 +public class CurrentDirList {
 +  public static void main(String []args) {
 +    if( args.lengh() == 0 ) {
 +      System.out.println("​Insufficient number of arguments!"​);​
 +      return;
 +    }
 +    File currentDir = new File(args[0]);​
 +    Files files[] = currentDir.listFiles();​
 +    for(File f : files) {
 +      if( f.isFile() ) {
 +        System.out.println(f.getName());​
 +      }
 +    }
 +  }
 +}
 +</​code>​
 +
 +
  
  
  
java/class_file.txt · Last modified: 2017/02/17 07:58 by gthanos