java:write_to_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
Last revision Both sides next revision
java:write_to_file [2017/02/17 11:18]
gthanos
java:write_to_file [2017/02/17 12:34]
gthanos [Παράδειγμα εγγραφής σε δυαδικό αρχείο]
Line 27: Line 27:
   * ''​PrintWriter format(String format, Object... args)'':​ Ισοδύναμη με την printf.   * ''​PrintWriter format(String format, Object... args)'':​ Ισοδύναμη με την printf.
  
-Δείτε την παρακάτω κλάση //​CopyTextFile//​ η οποία ​λαμβάνει ως είσοδο στη μέθοδο //main// τα ονόματα δύο ​αρχείων κειμένου ​και ​αντιγράφει τα περιεχόμενα του πρώτου στο 2ο αρχείο.+==== Παράδειγμα εγγραφής σε αρχείο κειμένου ==== 
 + 
 +Δείτε την παρακάτω κλάση //​CopyTextFile//​ η οποία αντιγράφει το περιεχόμενο ενός αρχείου κειμένου ​σε ένα νέο με την προϋπόθεση ότι το νέο αρχείο ​δεν υφίσταται ήδη στο filesystem
  
 <code java CopyTextFile.java>​ <code java CopyTextFile.java>​
 import java.io.*; import java.io.*;
 +
 +public class CopyTextFile {
 +import java.io.*;
 +import java.util.*;​
  
 public class CopyTextFile { public class CopyTextFile {
   public static void main(String [] args) {   public static void main(String [] args) {
-    ​if (args.length < 2{ +    ​Scanner sc = new Scanner(System.in); 
-      System.err.println("Insufficient number of arguments!")+    System.out.print("Enter src filename: ​"); 
-      return+    ​String readFilename ​sc.next(); 
-    ​+    File readFile ​= new File(readFilename);
-     +
-    File readFile ​new File(args[0]); +
-    File writeFile ​= new File(args[1]);+
     ​     ​
     if( !readFile.isFile() ) {     if( !readFile.isFile() ) {
Line 50: Line 53:
       return;       return;
     }     }
 +    ​
 +    System.out.print("​Enter dst filename: ");
 +    String writeFilename = sc.next();
 +    File writeFile = new File(writeFilename);​
 +    ​
     if( writeFile.exists() ) {     if( writeFile.exists() ) {
       System.err.println("​Output file exists! Unable to overwrite."​);​       System.err.println("​Output file exists! Unable to overwrite."​);​
Line 70: Line 78:
 } }
 </​code>​ </​code>​
 +
 +<WRAP todo 80% center round>
 +Με χρήση του παραπάνω προγράμματος προσπαθήστε να αντιγράψετε μία εικόνα. Τι παρατηρείτε;​ Γιατί;
 +</​WRAP>​
  
 ===== Γράφοντας σε δυαδικά αρχεία ===== ===== Γράφοντας σε δυαδικά αρχεία =====
  
-Προκειμένου να γράψετε σε δυαδικά αρχεία η Java διαθέτει την κλάση [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​FileOutputStream.html|java.io.FileOutputStream]]. Θα δούμε τις μεθόδους και την χρήση της αναλυτικά παρακάτω+Προκειμένου να γράψετε σε δυαδικά αρχεία ​(εικόνες,​ ήχο, βίντεο κλπ) ​η Java διαθέτει την κλάση [[https://​docs.oracle.com/​javase/​7/​docs/​api/​java/​io/​FileOutputStream.html|java.io.FileOutputStream]]. Θα δούμε τις μεθόδους και την χρήση της αναλυτικά παρακάτω
  
 **Κατασκευαστές** **Κατασκευαστές**
Line 83: Line 95:
   * ''​void write(byte[] b, int off, int len)''​ : Αντιγράφει στο outputStream //len bytes// από τον πίνακα //b// ξεκινώντας από την θέση off του πίνακα. Εάν θέσετε off=0 αντιγράφει από την αρχή του πίνακα.   * ''​void write(byte[] b, int off, int len)''​ : Αντιγράφει στο outputStream //len bytes// από τον πίνακα //b// ξεκινώντας από την θέση off του πίνακα. Εάν θέσετε off=0 αντιγράφει από την αρχή του πίνακα.
  
-Δείτε την παρακάτω κλάση //​CopyBinFile//​ η οποία αντιγράφει το περιεχόμενο ενός αρχείου σε ένα νέο με την προϋπόθεση ότι το νέο αρχείο δεν υφίσταται ήδη στο filesystem.+==== Παράδειγμα εγγραφής σε δυαδικό αρχείο ==== 
 + 
 +Δείτε την παρακάτω κλάση //​CopyBinFile// ​(αποτελεί παραλλαγή της //​CopyTextFile//​), ​η οποία αντιγράφει το περιεχόμενο ενός αρχείου σε ένα νέο με την προϋπόθεση ότι το νέο αρχείο δεν υφίσταται ήδη στο filesystem.
  
 <code java CopyBinFile.java>​ <code java CopyBinFile.java>​
Line 132: Line 146:
 </​code>​ </​code>​
  
-|Προηγούμενο:​ [[ :​java:​read_from_file | Διαβάζοντας από ένα αρχείο ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο:​ [[ :java:array_list ​Η κλάση ArrayList]] |+|Προηγούμενο:​ [[ :​java:​read_from_file | Διαβάζοντας από ένα αρχείο ]] | [[ :toc | Περιεχόμενα ]] | Επόμενο:​ [[ :java:object_serialization ​Object Serialization ​]] |
  
java/write_to_file.txt · Last modified: 2017/04/28 10:56 by gthanos