Move a file : File Commands « File Input Output « Java





Move a file

      
/**
 *
    DEScribe - A Discrete Experience Sampling cross platform application
    Copyright (C) 2011
    Sbastien Faure <sebastien.faure3@gmail.com>,
    Bertrand Gros   <gros.bertrand@gmail.com>,
    Yannick Prie    <yannick.prie@univ-lyon1.fr>.

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 */

//package api.utils;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * Class FileTools.java
 * @description Tools for files
 * @author Sbastien Faure  <sebastien.faure3@gmail.com>
 * @author Bertrand Gros    <gros.bertrand@gmail.com>
 * @version 2011-02-02
 */
public class FileTools {

    /** copie le fichier source dans le fichier resultat
     * retourne vrai si cela russit
     */
    public static boolean copyFile(File source, File dest){
            try{
                    // Declaration et ouverture des flux
                    java.io.FileInputStream sourceFile = new java.io.FileInputStream(source);

                    try{
                            java.io.FileOutputStream destinationFile = null;

                            try{
                                    destinationFile = new FileOutputStream(dest);

                                    // Lecture par segment de 0.5Mo
                                    byte buffer[] = new byte[512 * 1024];
                                    int nbLecture;

                                    while ((nbLecture = sourceFile.read(buffer)) != -1){
                                            destinationFile.write(buffer, 0, nbLecture);
                                    }
                            } finally {
                                    destinationFile.close();
                            }
                    } finally {
                            sourceFile.close();
                    }
            } catch (IOException e){
                    e.printStackTrace();
                    return false; // Erreur
            }

            return true; // Rsultat OK
    }


    /**
     * Dplace le fichier source dans le fichier rsultat
     */
    public static boolean moveFile(File source,File destination) {
            if( !destination.exists() ) {
                    // On essaye avec renameTo
                    boolean result = source.renameTo(destination);
                    if( !result ) {
                            // On essaye de copier
                            result = true;
                            result &= copyFile(source,destination);
                            if(result) result &= source.delete();

                    } return(result);
            } else {
                    // Si le fichier destination existe, on annule ...
                    return(false);
            }
    }

}

   
    
    
    
    
    
  










Related examples in the same category

1.Touch: set File Last Modified Time
2.File Copy in Java with NIO
3.File Copy in Java
4.Counts words in a file, outputs results in sorted form
5.Copying a file using channels and buffers
6.Copy files using Java IO APICopy files using Java IO API
7.Mimic the Unix Grep command
8.Grep tools
9.BGrep: a regular expression search utility, like Unix grep
10.File concatenation
11.Compress files using the Java ZIP API
12.Delete file using Java IO API
13.Undent - remove leading spaces
14.TeePrintStream tees all PrintStream operations into a file, rather like the UNIX tee(1) command
15.Delete a file from within Java, with error handling
16.DirTree - directory lister, like UNIX ls or DOS and VMS dirDirTree - directory lister, like UNIX ls or DOS and VMS dir
17.Program to empty a directory
18.Report on a file's status in Java
19.Simple directory lister
20.Readonly Files
21.List root directoryList root directory
22.Rename a file in Java
23.FNFilter - directory lister using FilenameFilter
24.mkdir examples
25.Program to remove files matching a name in a directory
26.Ls directory lister modified to use FilenameFilterLs directory lister modified to use FilenameFilter
27.Move a File
28.Word Count
29.Diff: text file difference utility.Diff: text file difference utility.
30.Count chars in a File
31.Move File
32.Get file date and time
33.Return readable file size with selected value measure
34.File Compressor
35.Recursive Delete File
36.Read number of lines from a File
37.Copy and overwrite files