User Tools

Site Tools


java:write_to_file

Παραδείγματα εγγραφής σε αρχείο κειμένου και δυαδικό αρχείο

Γράφοντας σε αρχεία κειμένου

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

CopyTextFile.java
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();
    }
  }
}

Γράφοντας σε δυαδικά αρχεία

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

CopyBinFile.java
import java.io.*;
 
public class CopyBinFile {
  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 {
      byte []buffer = new byte[2048];
      FileInputStream in = new FileInputStream(readFile);
      FileOutputStream out = new FileOutputStream(writeFile);
      int read_len;
      while( (read_len = in.read(buffer)) != -1 ) {
        out.write(buffer, 0, read_len);
      }
      out.close();
      in.close();
    } catch( IOException ex ) {
      ex.printStackTrace();
    }
  }
}
java/write_to_file.txt · Last modified: 2017/02/07 11:42 by 127.0.0.1