java:write_to_file

This is an old revision of the document!


Γράφοντας σε αρχείο

Προκειμένου να γράψετε κείμενο σε αρχείο ή στην κονσόλα μπορείτε να χρησιμοποιήσετε την κλάση 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 ως εξής:
TestPrintf
import java.io.*;
 
public class TestPrintf {
  public static void main(String args[]) {
    double f = 754.541012;
    System.out.format("The value of f is: %08.2f %n", f);
  }
}
//Το σύμβολο %n συμβολίζει τον χαρακτήρα αλλαγής γραμμής.
  • PrintWriter format(String format, Object… args): Ισοδύναμη με την printf.

Δείτε την παρακάτω κλάση CopyTextFile η οποία λαμβάνει ως είσοδο στη main τα ονόματα δύο αρχείων και αντιγράφει τα περιεχόμενα του πρώτου στο 2ο αρχείο.

CopyTextFile
import java.io.*;
 
public class CopyTextFile {
  public static void main(String [] args) {
    if (args.length < 2) {
      System.err.println("Insufficient number of arguments!");
      return;
    }
 
    File readFile = new File(args[0]);
    File writeFile = new File(args[1]);
 
    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;
    }
    if( writeFile.exists() ) {
      System.err.println("Output file exists! Unable to overwrite.");
      return;
    }
 
    try {
      String input;
      BufferedReader in = new BufferedReader(new FileReader(readFile));
      PrintWriter out = new PrintWriter(writeFile);
      while( (input = in.readLine()) != null ) {
        out.println(input);
      }
      out.close();
      in.close();
    } catch( IOException ex ) {
      ex.printStackTrace();
    }
 
 
  }
}
java/write_to_file.1458973487.txt.gz · Last modified: 2016/03/26 06:24 by gthanos