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:32] gthanos [Μέθοδοι της κλάσης File] |
java:class_file [2016/03/18 21:04] gthanos [Παράδειγμα 2] |
||
---|---|---|---|
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 35: | Line 35: | ||
* ''public File[] listFiles()'' : Επιστρέφει ένα πίνακα από Files που περιέχει τα αντικείμενα File για τα περιεχόμενα αρχεία. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | * ''public File[] listFiles()'' : Επιστρέφει ένα πίνακα από Files που περιέχει τα αντικείμενα File για τα περιεχόμενα αρχεία. Η συγκεκριμένη μέθοδος έχει νόημα μόνο εάν το αντικείμενο File αντιπροσωπεύει ένα directory. Διαφορετικά επιστρέφει **null**. | ||
| | ||
+ | ===== Παραδείγματα ===== | ||
+ | |||
+ | ==== Παράδειγμα 1 ==== | ||
+ | |||
+ | Με χρήση της κλάσης [[https://docs.oracle.com/javase/7/docs/api/java/io/File.html|java.io.File]] δημιουργήστε ένα πρόγραμμα που εκτυπώνει μία λίστα με τα περιεχόμενα των αρχείων του τρέχοντος Directory (ένα σε κάθε γραμμή). | ||
+ | <code java CurrentDirList.java> | ||
+ | import java.io.File; | ||
+ | |||
+ | public class CurrentDirList { | ||
+ | public static void main(String []args) { | ||
+ | File currentDir = new File("."); | ||
+ | File files[] = currentDir.listFiles(); | ||
+ | for(File f : files) { | ||
+ | System.out.println(f.getName()); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | Στη συνέχεια εξελίσσουμε το πρόγραμμα ώστε: | ||
+ | - να λαμβάνει το όνομα του directory από την γραμμή εντολών | ||
+ | - να εκτυπώνει μόνο αρχεία με κατάληξη **.java**. | ||
+ | |||
+ | <code java CurrentDirList.java> | ||
+ | import java.io.File; | ||
+ | |||
+ | public class CurrentDirList { | ||
+ | public static void main(String []args) { | ||
+ | if( args.length == 0 ) { | ||
+ | System.out.println("Insufficient number of arguments!"); | ||
+ | return; | ||
+ | } | ||
+ | File currentDir = new File(args[0]); | ||
+ | File files[] = currentDir.listFiles(); | ||
+ | for(File f : files) { | ||
+ | if( f.isFile() && f.getName().substring(f.getName().length()-5).equals(".java") ) { | ||
+ | System.out.println(f.getName()); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </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> | ||
+ | |||
+ | 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() ) { | ||
+ | f.createNewFile(); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | |||