Both sides previous revisionPrevious revisionNext revision | Previous revision |
java:write_to_file [2017/02/07 11:37] – [Γράφοντας σε αρχείο] gthanos | java:write_to_file [2017/02/07 11:42] (current) – external edit 127.0.0.1 |
---|
====== Παραδείγματα γραφής σε αρχεία κειμένου ====== | ====== Παραδείγματα εγγραφής σε αρχείο κειμένου και δυαδικό αρχείο ====== |
| |
===== Γράφοντας σε αρχεία κειμένου ===== | ===== Γράφοντας σε αρχεία κειμένου ===== |
| |
Προκειμένου να γράψετε κείμενο σε αρχείο ή στην κονσόλα μπορείτε να χρησιμοποιήσετε την κλάση [[https://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html|java.io.PrintWriter]]. | |
| |
**Κατασκευαστές** | |
* ''PrintWriter(String fileName)'' : Κατασκευάζει ένα αντικείμενο της κλάσης //PrintWriter// από ένα αρχείο filename. | |
* ''PrintWriter(File file)'' : Κατασκευάζει ένα αντικείμενο της κλάσης //PrintWriter// από ένα αντικείμενο της κλάσης //File//. | |
| |
**Μέθοδοι** | |
* ''void print(String s)'' : Εκτυπώνει το String s. | |
* ''void println(String s)'' : Εκτυπώνει το String s ακολουθούμενο από χαρακτήρα αλλαγής γραμμής. | |
* ''PrintWriter printf(String format, Object... args)'': Η συγκεκριμένη μέθοδος είναι ανάλογη με την printf της γλώσσας C. Μπορείτε να διαμορφώσετε κατάλληλα μορφοποιημένη έξοδo. Για παράδειγμα, η παρακάτω έκφραση εκτυπώνει έναν αριθμό κινητής υποδιαστολής μέσα σε ένα String ως εξής: | |
<code java TestPrintf.java> | |
import java.io.*; | |
| |
public class TestPrintf { | |
public static void main(String args[]) { | |
double f = 754.541012; | |
System.out.printf("The value of f is: %08.2f %n", f); | |
} | |
} | |
//Το σύμβολο %n συμβολίζει τον χαρακτήρα αλλαγής γραμμής. | |
</code> | |
| |
* ''PrintWriter format(String format, Object... args)'': Ισοδύναμη με την printf. | |
| |
Δείτε την παρακάτω κλάση //CopyTextFile// η οποία λαμβάνει ως είσοδο στη μέθοδο //main// τα ονόματα δύο αρχείων κειμένου και αντιγράφει τα περιεχόμενα του πρώτου στο 2ο αρχείο. | Δείτε την παρακάτω κλάση //CopyTextFile// η οποία λαμβάνει ως είσοδο στη μέθοδο //main// τα ονόματα δύο αρχείων κειμένου και αντιγράφει τα περιεχόμενα του πρώτου στο 2ο αρχείο. |
| |
===== Γράφοντας σε δυαδικά αρχεία ===== | ===== Γράφοντας σε δυαδικά αρχεία ===== |
| |
Προκειμένου να γράψετε σε δυαδικά αρχεία η Java διαθέτει την κλάση [[https://docs.oracle.com/javase/7/docs/api/java/io/FileOutputStream.html|java.io.FileOutputStream]]. Θα δούμε τις μεθόδους και την χρήση της αναλυτικά παρακάτω | |
| |
**Κατασκευαστές** | |
* ''FileOutputStream(String filename)'' : Δημιουργεί ένα αντικείμενο της κλάσης //FileOutputStream// από το αρχείο με όνομα filename. Στη θέση του //String// filename θα πρέπει να βάλετε το path προς το αρχείο και όχι μόνο το όνομα του. | |
* ''FileOutputStream(File file)'' : Δημιουργεί ένα αντικείμενο της κλάσης //FileOutputStream// από ένα αντικείμενο της κλάσης //File//. | |
| |
**Μέθοδοι** | |
* ''public void write(byte[] b)'' : Γράφει //b.length bytes// στο συγκεκριμένο outputStream. | |
* ''void write(byte[] b, int off, int len)'' : Αντιγράφει στο outputStream //len bytes// από τον πίνακα //b// ξεκινώντας από την θέση off του πίνακα. Εάν θέσετε off=0 αντιγράφει από την αρχή του πίνακα. | |
| |
Δείτε την παρακάτω κλάση //CopyBinFile// η οποία λαμβάνει ως είσοδο στη μέθοδο //main// τα ονόματα δύο οποιονδήποτε αρχείων και αντιγράφει τα περιεχόμενα του πρώτου στο 2ο αρχείο. | Δείτε την παρακάτω κλάση //CopyBinFile// η οποία λαμβάνει ως είσοδο στη μέθοδο //main// τα ονόματα δύο οποιονδήποτε αρχείων και αντιγράφει τα περιεχόμενα του πρώτου στο 2ο αρχείο. |