Write a JAVA Program which reads a number of text files from the command line and concatenates the contents of the files into the last file entered on the command line.
Example:
Java Concatenate src1.txt src2.txt src3.txt dest.txt
All the contents of the source files should be concatenated and written in destination file.
Example:
Java Concatenate src1.txt src2.txt src3.txt dest.txt
All the contents of the source files should be concatenated and written in destination file.
SOLUTION:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; public class FileConcatenation { public static void main(String[] args){ if(args.length==0){ System.out.println("Please enter file(s) name in proper format."); return; } //File object File[] file = new File[args.length]; int i=0; for ( i=0; i < args.length; i++ ) { file[i] = new File(args[i]); //Checking file if(file[i].exists()){ System.out.printf("\n%s exists.",file[i].getName()); if(file[i].isDirectory()){ System.out.println(" But it is not a file."); } } else System.out.printf("\n%s not exists.",file[i].getName()); } System.out.println(); //Reading all files and writing it to the last file try{ //Opening last file for writing FileOutputStream fWrite = new FileOutputStream(args[args.length-1]); //Reading other files int r=0; FileInputStream[] fread = new FileInputStream[25]; for ( i = 0; i < args.length - 1; i++ ) { fread[i] = new FileInputStream(args[i]); //Writing files. while((r = fread[i].read())!=-1){ fWrite.write((char)r); } } System.out.println("\nWriting complected."); //Closing files fWrite.close(); for ( i = 0; i < args.length - 1; i++) fread[i].close(); } catch(Exception e) { System.out.println("\nWriting failed."); } } }
No comments:
Post a Comment