This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
java:character_streams [2020/03/09 07:53] gthanos [Χρησιμοποιώντας Streams Xαρακτήρων] |
java:character_streams [2021/04/04 16:20] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Ροές Χαρακτήρων (Character Streams) ====== | ||
| - | Η Java χρησιμοποιεί για την κωδικοποίηση χαρακτήρων τη μορφοποίηση [[https:// | ||
| - | |||
| - | ==== Χρησιμοποιώντας Streams Xαρακτήρων ==== | ||
| - | |||
| - | Όλες οι κλάσεις που περιγράφουν stream χαρακτήρων κατάγονται από τις κλάσεις [[https:// | ||
| - | |||
| - | <code java CopyCharacters.java> | ||
| - | import java.io.FileReader; | ||
| - | import java.io.FileWriter; | ||
| - | import java.io.IOException; | ||
| - | |||
| - | public class CopyCharacters { | ||
| - | public static void main(String[] args) throws IOException { | ||
| - | |||
| - | String filename; | ||
| - | if(args.length > 0) | ||
| - | filename = args[0]; | ||
| - | else | ||
| - | filename = " | ||
| - | | ||
| - | try(FileReader reader = new FileReader(filename); | ||
| - | FileWriter writer = new FileWriter(" | ||
| - | ) { | ||
| - | int c; | ||
| - | while ((c = reader.read()) != -1) { | ||
| - | writer.write(c); | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | Η κλάση // | ||
| - | |||
| - | ===== Διαβάζοντας και γράφοντας γραμμή-γραμμή σε αρχείο κειμένου ===== | ||
| - | |||
| - | Παραπάνω είδαμε την ανάγνωση και εγγραφή ενός χαρακτήρα σε κάθε κλήση των μεθόδων read και write. Προκειμένου να διαχειριζόμαστε περισσότερους χαρακτήρες σε κάθε κλήση των read και write, επιλέγουμε να διαβάζουμε και να γράφουμε ομάδες χαρακτήρων. | ||
| - | |||
| - | Μια συνηθισμένη ομαδοποίηση χαρακτήρων είναι γραμμή-γραμμή. Η γραμμή ορίζεται ως μία σειρά από χαρακτήρες με ένα χαρακτήρα αλλαγής γραμμής στο τέλος. Ο χαρακτήρας αλλαγής γραμμής μπορεί να είναι μια ακολουθία χαρακτήρων carriege return/line feed (' | ||
| - | |||
| - | Ας τροποποιήσουμε το παράδειγμα // | ||
| - | |||
| - | Το παράδειγμα [[CopyLines]] επικαλείται τις [[http:// | ||
| - | |||
| - | <code java CopyLines.java> | ||
| - | import java.io.*; | ||
| - | |||
| - | public class CopyLines { | ||
| - | public static void main(String[] args) throws IOException { | ||
| - | |||
| - | BufferedReader inputStream = null; | ||
| - | PrintWriter outputStream = null; | ||
| - | |||
| - | try { | ||
| - | String filename; | ||
| - | if(args.length > 0) | ||
| - | filename = args[0]; | ||
| - | else | ||
| - | filename = " | ||
| - | | ||
| - | inputStream = new BufferedReader(new FileReader(filename)); | ||
| - | outputStream = new PrintWriter(new FileWriter(" | ||
| - | |||
| - | String l; | ||
| - | while ((l = inputStream.readLine()) != null) { | ||
| - | outputStream.println(l); | ||
| - | } | ||
| - | } finally { | ||
| - | if (inputStream != null) { | ||
| - | inputStream.close(); | ||
| - | } | ||
| - | if (outputStream != null) { | ||
| - | outputStream.close(); | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | } | ||
| - | </ | ||
| - | |||
| - | <WRAP tip 80% center round> | ||
| - | Η κλήση της // | ||
| - | </ | ||
| - | |||
| - | |Προηγούμενο: | ||