themeinstaller/source/src/com/nokia/tools/themeinstaller/defrep/operations/FileOperationUtils.java
changeset 18 904ba34d0e94
parent 0 05da4621cfb2
child 20 4b17811f5f53
--- a/themeinstaller/source/src/com/nokia/tools/themeinstaller/defrep/operations/FileOperationUtils.java	Tue Feb 02 00:15:44 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Utils for file operations
- *
-*/
-
-
-package com.nokia.tools.themeinstaller.defrep.operations;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-
-/**
- * Utils for file operations.
- */
-public class FileOperationUtils
-    {
-
-    // CONSTANTS
-    private static final int READ_BUFFER_SIZE = 1024;
-    private static final String REGEXP_PREFIX = "\\";
-    private static final char EPOC_DRIVE_SEP = ':';
-    private static final String EPOC_PATH_SEP = "\\";
-    private static final char EPOC_DRIVE_LETTER_FIRST_U = 'A';
-    private static final char EPOC_DRIVE_LETTER_LAST_U = 'Z';
-    private static final char EPOC_DRIVE_LETTER_FIRST_L = 'a';
-    private static final char EPOC_DRIVE_LETTER_LAST_L = 'z';
-    private static final String EPOC32_DIR = "epoc32";
-
-    /**
-     * Copy a file to an another location.
-     *
-     * @param aSource Source file
-     * @param aDestination Destination file
-     * @param aAppend If true, the source file contents will be appended to the end of
-     * the destination file. Otherwise, the original file will be overwritten.
-     * @throws FileNotFoundException Thrown if the file can not be found
-     * @throws IOException Thrown if IOException occurs, open streams are also closed
-     */
-    public static void copyFile( File aSource, File aDestination, boolean aAppend )
-        throws FileNotFoundException, IOException
-        {
-        // Overwrite the existing file, if any
-        if( aDestination.exists() && !aAppend )
-            {
-            aDestination.delete();
-            }
-
-        // Create the required directory structure for the destination file
-        // (ignore return value)
-        createDirs( aDestination );
-
-        // Open streams for input and output
-        FileInputStream input = new FileInputStream( aSource );
-        FileOutputStream output = new FileOutputStream( aDestination, aAppend );
-
-        // Create buffer for the data transfer
-        byte[] buffer = new byte[ READ_BUFFER_SIZE ];
-        int i = 0;
-
-        try
-            {
-            // Read data to the buffer and write it to the output stream until
-            // the whole file is processed
-            while( ( i = input.read( buffer ) ) != -1 )
-                {
-                output.write( buffer, 0, i );
-                }
-            }
-        finally
-            {
-            if( input != null )
-                {
-                input.close();
-                }
-            if( output != null )
-                {
-                output.close();
-                }
-            }
-        }
-
-    /**
-     * Create the whole directory structure for the file
-     *
-     * @param aFile File object to be placed at the end of the tree
-     * @return true, if new directories were created
-     */
-    public static boolean createDirs( File aFile )
-        {
-        // Extract the parent directory
-        String parent = aFile.getParent();
-
-        // Create the whole directory structure
-        File dir = new File( parent );
-        return dir.mkdirs();
-        }
-
-    /**
-     * Parse Symbian OS file system format path of a Winscw environment path.
-     * This method will search for a directory of which name is one character
-     * long and from a to z.
-     * @param aFile The file to process
-     * @return Path and file name in Symbian OS file system. Returns null if
-     * the file name can not be parsed.
-     */
-    public static String parseSymbianFSPath( File aFile )
-        {
-        String result = null;
-        String path = aFile.getPath();
-
-        File file = aFile.getParentFile();
-
-        // Go through all parent directories of the file
-        while( file != null )
-            {
-            // Find a directory of which name is 1 character long
-            String name = file.getName();
-            if( name.length() == 1 )
-                {
-                // Check that the directory name is an character
-                // from A to Z or a to z
-                char c = name.charAt( 0 );
-                if( ( c >= EPOC_DRIVE_LETTER_FIRST_U &&
-                      c <= EPOC_DRIVE_LETTER_LAST_U  ) ||
-                    ( c >= EPOC_DRIVE_LETTER_FIRST_L &&
-                      c <= EPOC_DRIVE_LETTER_LAST_L  ) )
-                    {
-                    result = name;
-                    }
-                }
-            // Stop if already reached to the epoc32 directory
-            else if( EPOC32_DIR.equalsIgnoreCase( name ) )
-                {
-                break;
-                }
-
-            file = file.getParentFile();
-            }
-
-        if( result != null )
-            {
-            String pattern = File.separatorChar + result + File.separatorChar;
-
-            // Find the start of the actual path
-            int pathStart = path.indexOf( pattern ) + pattern.length();
-
-            // Combine the Symbian OS format path of the drive letter,
-            // path separator and rest of the path
-            result = result +
-                     EPOC_DRIVE_SEP +
-                     EPOC_PATH_SEP +
-                     path.substring( pathStart );
-
-            // Replace path separators with Epoc ones
-            pattern = REGEXP_PREFIX + File.separator;
-            String replacement = REGEXP_PREFIX + EPOC_PATH_SEP;
-            result = result.replaceAll( pattern, replacement );
-            }
-
-        return result;
-        }
-
-    /**
-     * Parse Symbian OS file system format path of a Winscw environment path.
-     * @param aFile The file name to process
-     * @return Path and file name in Symbian OS file system. Returns null if
-     * the file name can not be parsed.
-     */
-    public static String parseSymbianFSPath( String aFile )
-        {
-        File f = new File( aFile );
-        return parseSymbianFSPath( f );
-        }
-    }