- Η συνάρτηση BIO.readChar() διαβάζει έναν χαρακτήρα και επιστρέφει
την τιμή του ως ακέραιο ή την ακέραια τιμή -1 αν δεν υπάρχουν
άλλοι χαρακτήρες για να διαβαστούν.
- Στη συνέχεια μπορούμε να μετατρέψουμε τον ακέραιο κωδικό του
χαρακτήρα σε χαρακτήρα με τη σύνταξη
(char)code
.
Παράδειγμα:
int code;
char c;
code = BIO.readChar();
if (code == -1)
BIO.println("End of file reached");
else {
c = (char)code;
print("Read character: ");
println(c);
}
- Στο λειτουργικό σύστημα MS-DOS δηλώνουμε πως δεν υπάρχουν
άλλοι χαρακτήρες να διαβαστούν από το πληκτρολόγιο με το
συνδυασμό πλήκτρων CTRL-Z.
- Η συνάρτηση BIO.print(c) τυπώνει το χαρακτήρα c στην οθόνη.
- Στα λειτουργικά συστήματα MS-DOS, Windows NT και Unix μπορούμε
να ζητήσουμε η είσοδος ενός προγράμματος να προέρχεται από ένα αρχείο
με την ακολουθία:
program <file
Αντίστοιχα μπορούμε να ζητήσουμε η έξοδος ενός προγράμματος να οδηγηθεί
σε ένα αρχείο με την ακολουθία:
program >file
Με τον τρόπο αυτό οι συναρτήσεις BIO.readChar() και BIO.print() αποκτούν
ιδιαίτερη χρησιμότητα, διότι μας δίνουν τη δυνατότητα να δημιουργούμε
και να εξετάζουμε αρχεία.
- Το παρακάτω πρόγραμμα αντιγράφει την είσοδό του στην έξοδο:
import gr.aueb.dds.BIO;
class CopyFile {
public static void main(String args[]) {
int c;
while ((c = BIO.readChar()) != -1)
BIO.print((char)c);
}
}
(Το αποτέλεσμα της εντολής ανάθεσης είναι η τιμή της μεταβλητής και με
τον τρόπο αυτό η ανάθεση γίνεται μαζί με τον έλεγχο.)
- Με το παραπάνω πρόγραμμα μπορούμε να αντιγράψουμε ένα αρχείο με την
ενολή:
java CopyFile <inputfile >outputfile