This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
|
java:class_file [2016/03/18 15:47] gthanos [Παραδείγματα] |
java:class_file [2016/03/18 21:24] gthanos |
||
|---|---|---|---|
| Line 14: | Line 14: | ||
| - | Αν θέλετε να δημιουργήσετε ένα αντικείμενο File για το αρχείο myFavoritSong.mp3 που βρίσκεται μέσα στον κατάλογο C:\Users\<YourUsername>\Music\ (αντικαταστήστε το <YourUsername> με το username σας στο λειτουργικό σύστημα Windows), τότε αρκεί να γράψετε | + | Αν θέλετε να δημιουργήσετε ένα αντικείμενο File για το αρχείο **myFavoritSong.mp3** που βρίσκεται μέσα στον κατάλογο **C:\Users\<YourUsername>\Music\** (αντικαταστήστε το **<YourUsername**> με το username σας στο λειτουργικό σύστημα Windows), τότε αρκεί να γράψετε |
| <code java> | <code java> | ||
| File favoritSong = new File("C:\Users\<YourUsername>\Music\myFavoritSong.mp3"); | File favoritSong = new File("C:\Users\<YourUsername>\Music\myFavoritSong.mp3"); | ||
| Line 25: | Line 25: | ||
| * ''public boolean canRead()'' : Ελέγχει εάν μπορούμε να ανοίξουμε το αρχείο για διάβασμα. | * ''public boolean canRead()'' : Ελέγχει εάν μπορούμε να ανοίξουμε το αρχείο για διάβασμα. | ||
| * ''public boolean canWrite()'' : Ελέγχει εάν μπορούμε να ανοίξουμε το αρχείο για γράψιμο. | * ''public boolean canWrite()'' : Ελέγχει εάν μπορούμε να ανοίξουμε το αρχείο για γράψιμο. | ||
| + | * ''public boolean createNewFile()'' : Δημιουργεί ένα νέο κενό αρχείο στο filesystem, εφόσον το αντικείμενο File δεν αντιστοιχεί σε υπαρκτό αρχείο. | ||
| * ''public boolean delete()'' : Επιχειρεί να διαγράψει το αρχείο ή κατάλογο. Επιστρέφει **true** εάν επέτυχε η διαγραφή, διαφορετικά **false**. | * ''public boolean delete()'' : Επιχειρεί να διαγράψει το αρχείο ή κατάλογο. Επιστρέφει **true** εάν επέτυχε η διαγραφή, διαφορετικά **false**. | ||
| * ''public boolean exists()'' : Ελέγχει εάν το συγκεκριμένο αντικείμενο αντικατοπτρίζει ένα πραγματικό αρχείο ή κατάλογο στο filesystem. | * ''public boolean exists()'' : Ελέγχει εάν το συγκεκριμένο αντικείμενο αντικατοπτρίζει ένα πραγματικό αρχείο ή κατάλογο στο filesystem. | ||
| Line 34: | Line 35: | ||
| * ''public String[] list()'' : Επιστρέφει ένα πίνακα από Strings που περιέχει τα ονόματα των περιεχόμενων αρχείων. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | * ''public String[] list()'' : Επιστρέφει ένα πίνακα από Strings που περιέχει τα ονόματα των περιεχόμενων αρχείων. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | ||
| * ''public File[] listFiles()'' : Επιστρέφει ένα πίνακα από Files που περιέχει τα αντικείμενα File για τα περιεχόμενα αρχεία. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | * ''public File[] listFiles()'' : Επιστρέφει ένα πίνακα από Files που περιέχει τα αντικείμενα File για τα περιεχόμενα αρχεία. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | ||
| + | * ''public boolean mkdir()'' : Δημιουργεί ένα νέο κενό directory στο filesystem, εφόσον δεν υπάρχει. Επιστρέφει **true** εάν το directory δημιουργηθεί επιτυχώς, διαφορετικά επιστρέφει **false**. | ||
| | | ||
| ===== Παραδείγματα ===== | ===== Παραδείγματα ===== | ||
| - | Με χρήση της κλάσης File δημιουργήστε ένα πρόγραμμα που εκτυπώνει μία λίστα με τα περιεχόμενα των αρχείων του τρέχοντος Directory (ένα σε κάθε γραμμή). | + | ==== Παράδειγμα 1 ==== |
| + | |||
| + | Με χρήση της κλάσης [[https://docs.oracle.com/javase/7/docs/api/java/io/File.html|java.io.File]] δημιουργήστε ένα πρόγραμμα που εκτυπώνει μία λίστα με τα περιεχόμενα των αρχείων του τρέχοντος Directory (ένα σε κάθε γραμμή). | ||
| <code java CurrentDirList.java> | <code java CurrentDirList.java> | ||
| import java.io.File; | import java.io.File; | ||
| Line 52: | Line 56: | ||
| </code> | </code> | ||
| - | Στη συνέχεια εξελίσσουμε το πρόγραμμα ώστε | + | Στη συνέχεια εξελίσσουμε το πρόγραμμα ώστε: |
| - | - να λαμβάνει το directory από την γραμμή εντολών | + | - να λαμβάνει το όνομα του directory από την γραμμή εντολών |
| - | - να εκτυπώνει μόνο αρχεία με κατάληξη **.doc**. | + | - να εκτυπώνει μόνο αρχεία με κατάληξη **.java**. |
| <code java CurrentDirList.java> | <code java CurrentDirList.java> | ||
| Line 61: | Line 65: | ||
| public class CurrentDirList { | public class CurrentDirList { | ||
| public static void main(String []args) { | public static void main(String []args) { | ||
| - | if( args.lengh == 0 ) { | + | if( args.length == 0 ) { |
| System.out.println("Insufficient number of arguments!"); | System.out.println("Insufficient number of arguments!"); | ||
| return; | return; | ||
| Line 68: | Line 72: | ||
| File files[] = currentDir.listFiles(); | File files[] = currentDir.listFiles(); | ||
| for(File f : files) { | for(File f : files) { | ||
| - | if( f.isFile() ) { | + | if( f.isFile() && f.getName().substring(f.getName().length()-5).equals(".java") ) { |
| System.out.println(f.getName()); | System.out.println(f.getName()); | ||
| } | } | ||
| Line 76: | Line 80: | ||
| </code> | </code> | ||
| + | <WRAP tip 80% center round> | ||
| + | Παρατηρήστε ότι είναι απαραίτητη η χρήση της εντολής **import java.io.File;** στην αρχή του αρχείου. | ||
| + | </WRAP> | ||
| + | |||
| + | ==== Παράδειγμα 2 ==== | ||
| + | |||
| + | Με χρήση της κλάσης [[https://docs.oracle.com/javase/7/docs/api/java/io/File.html|java.io.File]] δημιουργήστε ένα πρόγραμμα που λαμβάνει το όνομα ενός αρχείου από την γραμμή εντολών και εάν δεν υπάρχει το δημιουργεί στο τρέχον directory. | ||
| + | |||
| + | <code java CreateEmptyFile.java> | ||
| + | |||
| + | import java.io.File; | ||
| + | |||
| + | public class CreateEmptyFile { | ||
| + | public static void main(String args[]) { | ||
| + | if( args.length == 0 ) { | ||
| + | System.out.println("Insufficient number of arguments!"); | ||
| + | return; | ||
| + | } | ||
| + | File f = new File("./"+args[0]); | ||
| + | if( !f.exists() ) { | ||
| + | try { | ||
| + | f.createNewFile(); | ||
| + | } catch( Exception ex ) { | ||
| + | ex.printStackTrace(); | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | <WRAP tip 80% center round> | ||
| + | Με βάση το παραπάνω πρόγραμμα δημιουργήστε μία παραλλαγή του που να δημιουργεί ένα directory με το όνομα που δίνετε από την γραμμή εντολών αντί για ένα κανονικό αρχείο. | ||
| + | </WRAP> | ||