Modify the example that avoids overwriting a file to allow for file names that do not have extensions.
Filenames on many systems are not of unlimited length, so appending _old to file names may break down at some point. Modify the example that avoids overwriting a file to append a three-digit numerical value to the file name to differentiate it from the existing file instead of just adding _old. The program should check for the presence of three digits at the end of the name for the existing file and replace this with a value incremented by an amount to make it unique. (That is, increment the last three digits by 1 until a unique file name is created.)
Write a program that will list all the directories in a directory defined by a path supplied as a command line argument, or all the directories on a system if no command line argument is present. (Hint: The listRoots() method will give you the roots on a system and the listFiles() method will give you an array of File objects for the files and directories in any given directory – including a root.)