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:util_scanner_class [2020/03/09 21:04] gthanos [Διαβάζοντας γραμμή-γραμμή] |
java:util_scanner_class [2021/04/04 17:23] gthanos [Παράδειγμα ανάγνωσης με χρήση της Scanner] |
||
|---|---|---|---|
| Line 35: | Line 35: | ||
| </ | </ | ||
| - | ===== Διαβάζοντας γραμμή-γραμμή ===== | + | Η Java παρέχει την επιπλέον δυνατότητα να διαβάζετε συγκεκριμένους τύπους δεδομένων μέσω της κλάσης [[http:// |
| - | + | ||
| - | Ό πιο απλός τρόπος ανάγνωσης αρχείων κειμένου είναι το διάβασμα κάθε γραμμής και στη συνέχεια η επεξεργασία της γραμμής, | + | |
| - | + | ||
| - | <code java ReadLineByLine.java> | + | |
| - | import java.io.*; | + | |
| - | + | ||
| - | public class ReadLineByLine { | + | |
| - | public static void main(String []args) { | + | |
| - | try { | + | |
| - | String input, filename = " | + | |
| - | int i=0; | + | |
| - | TelephoneNumber [] numbers = new TelephoneNumber[5]; | + | |
| - | BufferedReader in = new BufferedReader(new FileReader(filename)); | + | |
| - | while( (input = in.readLine()) != null && input.length() > 0 ) { | + | |
| - | numbers[i++] = createTelephoneNumber(input); | + | |
| - | } | + | |
| - | System.out.println(" | + | |
| - | for(TelephoneNumber number : numbers) { | + | |
| - | System.out.println(number); | + | |
| - | } | + | |
| - | } catch( IOException ex ) { | + | |
| - | ex.printStackTrace(); | + | |
| - | } | + | |
| - | } | + | |
| - | + | ||
| - | public static TelephoneNumber createTelephoneNumber(String inputLine) { | + | |
| - | String []tokens = inputLine.split(" | + | |
| - | String name = tokens[0].trim() + " " + tokens[1].trim(); | + | |
| - | long number = Long.parseLong(tokens[2].trim()); | + | |
| - | TelephoneNumber t = new TelephoneNumber(name, | + | |
| - | return t; | + | |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | + | ||
| - | ===== Χρησιμοποιώντας την κλάση Scanner ===== | + | |
| - | + | ||
| - | Εκτός από την δυνατότητα που έχετε να διαβάζετε γραμμή-γραμμή η Java σας δίνει την επιπλέον δυνατότητα να διαβάζετε συγκεκριμένους τύπους δεδομένων μέσω της κλάσης [[http:// | + | |
| Οι μέθοδοι της κλάσης //Scanner// έχουν συνοπτικά ως εξής: | Οι μέθοδοι της κλάσης //Scanner// έχουν συνοπτικά ως εξής: | ||
| Line 131: | Line 93: | ||
| <WRAP tip 80% center round> | <WRAP tip 80% center round> | ||
| - | Το παραπάνω παράδειγμα θα μπορούσατε να το εκτελέσετε διαβάζοντας από την κονσόλα, αντί να διαβάζετε από αρχείο | + | Το παραπάνω παράδειγμα θα μπορούσατε να το εκτελέσετε διαβάζοντας από το πληκτρολόγιο, αντί να διαβάζετε από αρχείο. Για να διαβάσετε από την κονσόλα θα μπορούσατε να αντικαταστήσετε τη γραμμή |
| <code java> | <code java> | ||
| Scanner sc = new Scanner(new File(" | Scanner sc = new Scanner(new File(" | ||