java:console_read

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision Both sides next revision
java:console_read [2015/06/20 01:40]
java:console_read [2015/06/20 02:17]
gthanos [Διαβάζοντας από το System.in]
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 =====
 +
 +
 +
 +
  
java/console_read.txt · Last modified: 2015/06/20 01:40 (external edit)