This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
java:class_file [2016/03/18 21:04] gthanos [Παράδειγμα 2] |
java:class_file [2017/02/17 07:58] gthanos |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Η κλάση File ====== | ====== Η κλάση File ====== | ||
- | Η κλάση [[https://docs.oracle.com/javase/7/docs/api/java/io/File.html|java.io.File]] απεικονίζει ένα αρχείο ή directory από το λειτουργικό σας σύστημα. Μέσω της κλάσης File μπορείτε να έχετε πρόσβαση στα αρχεία του συστήματος σας, να εξετάσετε κατά πόσο ένα αρχείο είναι directory ή απλό αρχείο, να δείτε τα περιεχόμενα ενός directory, να εξετάσετε εάν ένα αρχείο είναι εκτελέσιμο ή όχι και άλλα. | + | Η κλάση [[https://docs.oracle.com/javase/7/docs/api/java/io/File.html|java.io.File]] απεικονίζει ένα αρχείο ή κατάλογος από το λειτουργικό σας σύστημα. Μέσω της κλάσης File μπορείτε να έχετε πρόσβαση στα αρχεία του συστήματος σας, να εξετάσετε κατά πόσο ένα αρχείο είναι κατάλογος ή απλό αρχείο, να δείτε τα περιεχόμενα ενός καταλόγου, να εξετάσετε εάν ένα αρχείο είναι εκτελέσιμο ή όχι και άλλα. |
Προκειμένου να φτιάξετε ένα αντικείμενο της κλάσης File αρκεί να χρησιμοποιήσετε έναν από τους κατασκευαστές της κλάσης File. Ο πιο απλός κατασκευαστής της κλάσης είναι ο παρακάτω, ο οποίος λαμβάνει ως όρισμα ένα String που περιέχει το path ενός αρχείο και δημιουργεί το αντικείμενο της κλάσης File. | Προκειμένου να φτιάξετε ένα αντικείμενο της κλάσης File αρκεί να χρησιμοποιήσετε έναν από τους κατασκευαστές της κλάσης File. Ο πιο απλός κατασκευαστής της κλάσης είναι ο παρακάτω, ο οποίος λαμβάνει ως όρισμα ένα String που περιέχει το path ενός αρχείο και δημιουργεί το αντικείμενο της κλάσης File. | ||
Line 8: | Line 8: | ||
</code> | </code> | ||
- | Για παράδειγμα, αν θέλετε να δημιουργήσετε ένα αντικείμενο File για το τρέχον Directory αρκεί να γράψετε | + | Για παράδειγμα, αν θέλετε να δημιουργήσετε ένα αντικείμενο File για τον τρέχον κατάλογο αρκεί να γράψετε |
<code java> | <code java> | ||
File currentDir = new File("."); | File currentDir = new File("."); | ||
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. | ||
* ''public String getAbsolutePath()'' : Επιστρέφει το απόλυτο path για ένα υπαρκτό αρχείο ή κατάλογο. Η συγκεκριμένη μέθοδος έχει νόημα εάν έχετε δημιουργήσει το αντικείμενο χρησιμοποιώντας ένα σχετικό path αντί για απόλυτο. | * ''public String getAbsolutePath()'' : Επιστρέφει το απόλυτο path για ένα υπαρκτό αρχείο ή κατάλογο. Η συγκεκριμένη μέθοδος έχει νόημα εάν έχετε δημιουργήσει το αντικείμενο χρησιμοποιώντας ένα σχετικό path αντί για απόλυτο. | ||
* ''public String getName()'' : Επιστρέφει μόνο το όνομα του αρχείου ή καταλόγου του. | * ''public String getName()'' : Επιστρέφει μόνο το όνομα του αρχείου ή καταλόγου του. | ||
- | * ''public boolean isDirectory()'' : Ελέγχει εάν το συγκεκριμένο αντικείμενο αντιπροσωπεύει ένα directory. | + | * ''public boolean isDirectory()'' : Ελέγχει εάν το συγκεκριμένο αντικείμενο αντιπροσωπεύει ένα κατάλογο ή όχι. |
- | * ''public boolean isFile()'' : Ελέγχει ένα το συγκεκριμένο αντικείμενο είναι απλό αρχείο (όχι directory, , όχι ειδικό αρχείο). | + | * ''public boolean isFile()'' : Ελέγχει ένα το συγκεκριμένο αντικείμενο είναι απλό αρχείο (όχι κατάλογος ή ειδικό αρχείο). |
* ''public long length()'' : Επιστρέφει το μήκος του αρχείου. | * ''public long length()'' : Επιστρέφει το μήκος του αρχείου. | ||
- | * ''public String[] list()'' : Επιστρέφει ένα πίνακα από Strings που περιέχει τα ονόματα των περιεχόμενων αρχείων. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | + | * ''public String[] list()'' : Επιστρέφει ένα πίνακα από Strings που περιέχει τα ονόματα των περιεχόμενων αρχείων. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα κατάλογο. Διαφορετικά επιστρέφει **null**. |
- | * ''public File[] listFiles()'' : Επιστρέφει ένα πίνακα από Files που περιέχει τα αντικείμενα File για τα περιεχόμενα αρχεία. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | + | * ''public File[] listFiles()'' : Επιστρέφει ένα πίνακα από Files που περιέχει τα αντικείμενα File για τα περιεχόμενα αρχεία. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα κατάλογο. Διαφορετικά επιστρέφει **null**. |
+ | * ''public boolean mkdir()'' : Δημιουργεί ένα νέο κενό κατάλογο στο filesystem, εφόσον δεν υπάρχει. Επιστρέφει **true** εάν το directory δημιουργηθεί επιτυχώς, διαφορετικά επιστρέφει **false**. | ||
| | ||
===== Παραδείγματα ===== | ===== Παραδείγματα ===== | ||
Line 87: | Line 89: | ||
<code java CreateEmptyFile.java> | <code java CreateEmptyFile.java> | ||
+ | |||
+ | import java.io.File; | ||
public class CreateEmptyFile { | public class CreateEmptyFile { | ||
Line 96: | Line 100: | ||
File f = new File("./"+args[0]); | File f = new File("./"+args[0]); | ||
if( !f.exists() ) { | if( !f.exists() ) { | ||
- | f.createNewFile(); | + | try { |
+ | f.createNewFile(); | ||
+ | } catch( Exception ex ) { | ||
+ | ex.printStackTrace(); | ||
+ | } | ||
} | } | ||
} | } | ||
Line 102: | Line 110: | ||
</code> | </code> | ||
+ | <WRAP tip 80% center round> | ||
+ | Με βάση το παραπάνω πρόγραμμα δημιουργήστε μία παραλλαγή του που να δημιουργεί ένα directory με το όνομα που δίνετε από την γραμμή εντολών αντί για ένα κανονικό αρχείο. | ||
+ | </WRAP> | ||
+ | |Προηγούμενο: [[ java:packages:using | Χρήση (μεταγλωττισμένων) κλάσεων από άλλες κλάσεις ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο: [[ :java:read_from_file | Διαβάζοντας από ένα αρχείο]] | | ||