java:read_from_file

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
Previous revision
java:read_from_file [2016/03/26 05:16]
gthanos [Παράδειγμα ανάγνωσης με χρήση της Scanner]
java:read_from_file [2017/04/28 11:15] (current)
gthanos [Παράδειγμα διαβάσματος από δυαδικό αρχείο]
Line 160: Line 160:
  
 Αντ'​ αυτού υπάρχει η κλάση [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​FileInputStream.html|java.io.FileInputStream]] η οποία επιτρέπει το διάβασμα δυαδικών αρχείων ως εξής: Αντ'​ αυτού υπάρχει η κλάση [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​FileInputStream.html|java.io.FileInputStream]] η οποία επιτρέπει το διάβασμα δυαδικών αρχείων ως εξής:
 +
 +**Κατασκευαστές**
 +  * ''​FileInputStream(String filename)''​ : Δημιουργεί ένα αντικείμενο της κλάσης //​FileInputStream//​ από το αρχείο με όνομα filename. Στη θέση του //String// filename θα πρέπει να βάλετε το path προς το αρχείο και όχι μόνο το όνομα του.
 +  * ''​FileInputStream(File file)''​ : Δημιουργεί ένα αντικείμενο της κλάσης //​FileInputStream//​ από ένα αντικείμενο της κλάσης //File//.
 +
 +**Μέθοδοι**
 +  * ''​int read(byte[] b)''​ : Διαβάζετε ένα αρχείο μέσω της μεθόδου read. Σε κάθε διάβασμα αποθηκεύονται τα δεδομενα σας στον πίνακα //b//. Πριν την κλήση της read, θα πρέπει να έχετε αρχικοποιήσει τον πίνακα //b// σε ένα μέγεθος της επιλογής σας, προκειμένου να μπορούν να αποθηκευτούν τα δεδομένα σας σε αυτόν. ​
 +    * Η μέθοδος διαβάζει το πολύ //​b.length//​ bytes. ​
 +    * Επιστρέφει τον αριθμό των bytes που διάβασε.
 +
 +==== Παράδειγμα διαβάσματος από δυαδικό αρχείο ====
 +
 +Το παρακάτω πρόγραμμα διαβάζει το όνομα ενός αρχείου από το πληκτρολόγιο και στη συνέχεια διαβάζει το περιεχόμενο του αρχείου ως δυαδικό αρχείο.
 +
 +<code java ReadBinFile.java>​
 +import java.io.*;
 +import java.util.*;​
 +
 +public class ReadBinFile {
 +  public static void main(String [] args) {
 +    ​
 +    Scanner sc = new Scanner(System.in);​
 +    System.out.print("​Enter filename: ");
 +    String readFilename = sc.next();
 +    File readFile = new File(readFilename); ​   ​
 +    ​
 +    if( !readFile.isFile() ) {
 +      System.err.println("​Input file does not exist or is not a regular file!"​);​
 +      return;
 +    }
 +    if( !readFile.canRead() ) {
 +      System.err.println("​Input file is not readable!"​);​
 +      return;
 +    }
 +    ​
 +    try {
 +      byte []buffer = new byte[2048];
 +      FileInputStream in = new FileInputStream(readFile);​
 +      int read_len;
 +      while( (read_len = in.read(buffer)) != -1 ) {
 +        ​
 +      }
 +      ​
 +      in.close();
 +    } catch( IOException ex ) {
 +      ex.printStackTrace();​
 +    }
 +  }
 +}
 +</​code>​
 +
 +|Προηγούμενο:​ [[ java:​class_file | Η κλάση File ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο:​ [[ :​java:​write_to_file | Γράφοντας σε αρχείο]] |
  
  
  
java/read_from_file.1458969383.txt.gz · Last modified: 2016/03/26 05:16 by gthanos