This shows you the differences between two versions of the page.
java:console_read [2015/06/20 02:17] gthanos [Διαβάζοντας από το System.in] |
java:console_read [2016/02/26 11:15] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Διαβάζοντας από την κονσόλα ====== | ||
- | |||
- | Προκειμένου να διαβάσετε από την κονσόλα έχετε δύο επιλογές | ||
- | - να διαβάσετε με χρήση του standard stream **System.in**. Τα standard streams ορίζονται από το λειτουργικό σύστημα και είναι τα εξής: **System.in**, **System.err**, **System.out** (σε αναλογία με τα STDIN, STDERR, STDOUT στη γλώσσα **C**). | ||
- | - Με χρήση της κλάσης **[[http://docs.oracle.com/javase/7/docs/api/java/io/Console.html|java.io.Console]]**. | ||
- | |||
- | ===== Διαβάζοντας από το System.in ===== | ||
- | |||
- | To **System.in** είναι ένα stream τύπου byte-stream. Συνήθως από την κονσόλα θέλουμε να διαβάσουμε χαρακτήρες. Στις περιπτώσεις αυτές απαιτείται να το μετατρέψουμε σε character stream ως εξής: | ||
- | |||
- | <code java> | ||
- | InputStreamReader cin = new InputStreamReader(System.in); | ||
- | </code> | ||
- | |||
- | Τον παραπάνω κώδικα συνήθως τον εντάσσουμε μέσα σε ένα block try/catch, όπως παρακάτω | ||
- | |||
- | <code java> | ||
- | try (InputStreamReader r = new InputStreamReader(System.in)) { | ||
- | ... | ||
- | } catch (IOException ex) { | ||
- | System.out.println("Unable to read from STDIN"); | ||
- | System.exit(1); | ||
- | } | ||
- | </code> | ||
- | |||
- | Για την διευκόλυνση σας, κατά την ανάγνωση μπορείτε να δημιουργήσετε ένα αντικείμενο της κλάσης java.io.BufferedReader, όπως παρακάτω. Το πλεονέκτημα της συγκεκριμένης επιλογής είναι ότι η κλάση BufferedReader σας δίνει την δυνατότητα να διαβάσετε απευθείας μία γραμμή από το stream μέσω της μεθόδου readLine. | ||
- | |||
- | <code java> | ||
- | try (BufferedReader r = new BufferedReader(new InputStreamReader(System.in)) ) { | ||
- | ... | ||
- | }catch (IOException ex) { | ||
- | System.out.println("Unable to read from STDIN"); | ||
- | System.exit(1); | ||
- | } | ||
- | </code> | ||
- | |||
- | ===== Διαβάζοντας με χρήση της κλάσης Console ===== | ||
- | |||
- | |||
- | |||
- | |||