The Artima Developer Community
Sponsored Link

Legacy Java Answers Forum
September 2000

Advertisement

Advertisement

This page contains an archived post to the Java Answers Forum made prior to February 25, 2002. If you wish to participate in discussions, please visit the new Artima Forums.

Message:

File Copy without loosing the create date

Posted by Ren� on December 03, 2001 at 4:27 PM

Hy, is there a possibility to copy a file without loosing the creation date?
thanks
Ren�


> Hi
> Here is the code in FileCopy.java to copy a file. You can do the second problem reading thru the code of FileCopy.java because it also uses reading from and writing to a file.

> Thanx
> Kishori

> /////////////FileCopy.java
> import java.io.* ;

>
> public class FileCopy {
>
>
> private static void quit ( String str) {
> System.out.println ( str ) ;
> System.exit ( 1 ) ;
> }
>
> public static void main ( String[] args ) {
>
> // Varibles to hold source and destination files
> String sourceFileName ;
> String targetFileName ;
>
> // Temporary string object to get input from user
> String temp = "" ;
>
> // Prompt user to specify the source and destination files
> System.out.println ( "Please specify source and destination files name separated by space(s) ");
>
> // Prepare the input stream to read the file names
> BufferedReader in = new BufferedReader ( new InputStreamReader ( System.in ) ) ;
>
> try {
> temp = in.readLine ( ).trim ( ) ;
> } catch ( IOException e ) { }
>
> // Make sure user entered the file names
> if ( temp == null || temp.length() == 0 ) {
> quit ( "Invalid files name" ) ;
> }
>
> /* Get the source and target file names */
> // Find the position of space(s)
> int space = temp.indexOf ( " " ) ;
>
> if ( space == -1 ) {
> quit ( "Invalid file names" ) ;
> }
>
> sourceFileName = temp.substring ( 0, space ) ;
> targetFileName = temp.substring ( space + 1 ).trim ( ) ;
>
> // Check if source file exists
> File source = new File ( sourceFileName ) ;
>
> if ( !source.exists() ) {
> quit ( sourceFileName + " doesn't exist." ) ;
> }
>
> // Check if source is a file
> if ( !source.isFile ( ) ) {
> quit ( sourceFileName + " is not a file." ) ;
> }
>
> // Check if target file exists
> File target = new File ( targetFileName ) ;
>
> if ( target.exists() ) {
>
> // Prompt user for overwriting the target file
> System.out.print ( "\nOverwrite " + targetFileName + " (Y/N)?" ) ;
> try {
> temp = in.readLine ( ) ;
> if ( temp == null ) {
> quit ( "Unknown problem" ) ;
> }
> if ( !temp.toUpperCase().equals( "Y" ) ) {
> quit ( "" ) ;
> }
> } catch ( IOException e ) {
> quit ( "UnKnown problem" ) ;
> }
> }
>
> // Prepare the input and output streams for final file copy
> BufferedWriter out = null ;
> try {
> out = new BufferedWriter ( new FileWriter ( target ) ) ;
> in = new BufferedReader ( new FileReader ( source ) ) ;
> } catch ( IOException e ) {
> quit ( "Unknown Problem") ;
> }
>
>
> try {
> int ch ;
> ch = in.read ( ) ;
>
> while ( ch != -1 ) {
> out.write ( ch ) ;
> ch = in.read ( ) ;
> }
> } catch ( IOException e ) { }
>
> finally {
> try {
> in.close ( ) ;
> out.close ( );
> } catch ( IOException e ) { }

> }
>
> }
> }





Replies:

Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2009 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us