import java.util.* ;
import java.lang.* ;
import java.io.* ;
import java.text.* ;
import static java.
lang .
System .
*;
//public
class FileCopier
{
static Scanner in
= new Scanner
( System .
in ) ; static String file, line, newFile
; static int location; // = file.indexOf(".");
static File filename, fileTwo
; static boolean compare = false ;
{
GetFile( ) ;
System .
out .
println ( "Checking file" ) ; if ( CompareExtension( ) != false )
{
System .
out .
println ( "Finding file..." ) ; if ( filename.isFile ( ) != false ) //Checks if file is real and can be read
{
compare = true ;
System .
out .
println ( "Checking if readable..." ) ; if ( filename.canRead ( ) != false )
{
compare = true ;
System .
out .
println ( "Result: " + compare
) ; if ( compare == true )
{
System .
out .
println ( "Creating new file..." ) ; nameNewFile( ) ;
System .
out .
println ( "Coping file..." ) ; CopyFile( ) ;
// System.exit();
}
else
{
System .
out .
print ( "Coping: " + compare
) ; }
}
else
{
System .
out .
print ( "Readable: " + compare
) ; }
}
else
{
compare = false ;
System .
out .
print ( "File existance: " + compare
) ; // System.exit();
}
}
else
{
System .
out .
println ( "Error: File not found." ) ; }
}
{
System .
out .
print ( "What file do you want to copy?(Include extension) " ) ; file = in.nextLine ( ) ;
filename
= new File ( file
) ; }
public static boolean CompareExtension( )
{
String [ ] extensions
= { ".bat" ,
".602" ,
".abw" ,
".acl" ,
".afp" ,
".ami" ,
".ans" ,
".asc" ,
".aww" ,
".ccf" ,
".csv" ,
".cwk" ,
".dat" ,
".dbk" ,
".doc" ,
".docm" ,
".docx" ,
".dot" ,
".dotx" ,
".egt" ,
".epub" ,
".ezw" ,
".fdx" ,
".ftm" ,
".ftx" ,
".gdoc" ,
".html" ,
".htm" ,
".hwp" ,
".hwpml" ,
".log" ,
".lwp" ,
".mbp" ,
".md" ,
".mcw" ,
".mobi" ,
".nb" ,
".nbp" ,
".odm" ,
".odt" ,
"out" ,
".ott" ,
".omm" ,
".pages" ,
".pap" ,
".pdax" ,
".pdf" ,
".rtf" ,
".quox" ,
".rpt" ,
".sdw" ,
".se" ,
".stw" ,
".sxw" ,
".tex" ,
".info" ,
".troff" ,
".txt" ,
".uof" ,
".uoml" ,
".via" ,
".wpd" ,
".wps" ,
".wpt" ,
".wrd" ,
".wrf" ,
".wri" ,
".xhtml" ,
".xml" ,
".xps" ,
".java" } ; location = file.indexOf ( "." ) ;
for ( int n = 0 ; n < extensions.length ; n++ )
{
if ( ( file.substring ( location) .compareTo ( extensions[ n] ) ) != 0 )
{
compare = false ;
}
else if ( ( file.substring ( location) .compareTo ( extensions[ n] ) ) == 0 )
{
compare = true ;
}
}
return true ;
}
public static String nameNewFile
( ) {
location = file.indexOf ( "." ) ;
newFile = file.substring ( 0 , location) ;
newFile = newFile + "(copy).txt" ;
fileTwo
= new File ( newFile
) ; return file;
}
{
Scanner read = new Scanner( filename) ;
while ( read.hasNextLine ( ) )
{
line = read.nextLine ( ) ;
write.println ( line) ;
}
read.close ( ) ;
write.close ( ) ; //Saves file
}
}
aW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnRleHQuKjsKaW1wb3J0IHN0YXRpYyBqYXZhLmxhbmcuU3lzdGVtLio7CgovL3B1YmxpYwpjbGFzcyBGaWxlQ29waWVyCnsKCXN0YXRpYyBTY2FubmVyIGluID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCXN0YXRpYyBTdHJpbmcgZmlsZSwgbGluZSwgbmV3RmlsZTsKCXN0YXRpYyBpbnQgbG9jYXRpb247Ly8gPSBmaWxlLmluZGV4T2YoIi4iKTsKCXN0YXRpYyBGaWxlIGZpbGVuYW1lLCBmaWxlVHdvOwoJc3RhdGljIGJvb2xlYW4gY29tcGFyZSA9IGZhbHNlOwoJcHVibGljIHN0YXRpYyB2b2lkIG1haW4gKFN0cmluZ1tdIGFyZ3MpIHRocm93cyBJT0V4Y2VwdGlvbgoJewoJCUdldEZpbGUoKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oIkNoZWNraW5nIGZpbGUiKTsKCQlpZihDb21wYXJlRXh0ZW5zaW9uKCkgIT0gZmFsc2UpCgkJewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkZpbmRpbmcgZmlsZS4uLiIpOwoJCQlpZihmaWxlbmFtZS5pc0ZpbGUoKSAhPSBmYWxzZSkgLy9DaGVja3MgaWYgZmlsZSBpcyByZWFsIGFuZCBjYW4gYmUgcmVhZAoJCQl7CgkJCQljb21wYXJlID0gdHJ1ZTsKCQkJCVN5c3RlbS5vdXQucHJpbnRsbigiQ2hlY2tpbmcgaWYgcmVhZGFibGUuLi4iKTsKCQkJCWlmKGZpbGVuYW1lLmNhblJlYWQoKSAhPSBmYWxzZSkKCQkJCXsKCQkJCQljb21wYXJlID0gdHJ1ZTsKCQkJCQlTeXN0ZW0ub3V0LnByaW50bG4oIlJlc3VsdDogIiArIGNvbXBhcmUpOwoJCQkJCWlmKGNvbXBhcmUgPT0gdHJ1ZSkKCQkJCQl7CgkJCQkJCVN5c3RlbS5vdXQucHJpbnRsbigiQ3JlYXRpbmcgbmV3IGZpbGUuLi4iKTsKCQkJCQkJbmFtZU5ld0ZpbGUoKTsKCQkJCQkJU3lzdGVtLm91dC5wcmludGxuKCJDb3BpbmcgZmlsZS4uLiIpOwoJCQkJCQlDb3B5RmlsZSgpOwoJCQkJCQlTeXN0ZW0ub3V0LnByaW50KCJDb21wbGV0ZSIpOwoJCQkJCS8vCVN5c3RlbS5leGl0KCk7CgkJCQkJfQoJCQkJCWVsc2UKCQkJCQl7CgkJCQkJCVN5c3RlbS5vdXQucHJpbnQoIkNvcGluZzogIiArIGNvbXBhcmUpOwoJCQkJCX0KCQkJCX0KCQkJCWVsc2UKCQkJCXsKCQkJCQlTeXN0ZW0ub3V0LnByaW50KCJSZWFkYWJsZTogIiArIGNvbXBhcmUpOwoJCQkJfQoJCQl9CgkJCWVsc2UKCQkJewoJCQkJY29tcGFyZSA9IGZhbHNlOwoJCQkJU3lzdGVtLm91dC5wcmludCgiRmlsZSBleGlzdGFuY2U6ICIgKyBjb21wYXJlKTsKCQkJLy8JU3lzdGVtLmV4aXQoKTsKCQkJfQoJCX0KCQllbHNlCgkJewoJCQlTeXN0ZW0ub3V0LnByaW50bG4oIkVycm9yOiBGaWxlIG5vdCBmb3VuZC4iKTsKCQl9Cgl9CglwdWJsaWMgc3RhdGljIHZvaWQgR2V0RmlsZSgpIHRocm93cyBJT0V4Y2VwdGlvbgoJewoJCVN5c3RlbS5vdXQucHJpbnQoIldoYXQgZmlsZSBkbyB5b3Ugd2FudCB0byBjb3B5PyhJbmNsdWRlIGV4dGVuc2lvbikgIik7CgkJZmlsZSA9IGluLm5leHRMaW5lKCk7CgkJZmlsZW5hbWUgPSBuZXcgRmlsZShmaWxlKTsKCX0KCXB1YmxpYyBzdGF0aWMgYm9vbGVhbiBDb21wYXJlRXh0ZW5zaW9uKCkKCXsKCQlTdHJpbmdbXSBleHRlbnNpb25zID0geyIuYmF0IiwgIi42MDIiLCAiLmFidyIsICIuYWNsIiwgIi5hZnAiLCAiLmFtaSIsICIuYW5zIiwgIi5hc2MiLCAiLmF3dyIsICIuY2NmIiwgIi5jc3YiLCAiLmN3ayIsICIuZGF0IiwgIi5kYmsiLCAiLmRvYyIsICIuZG9jbSIsICIuZG9jeCIsICIuZG90IiwgIi5kb3R4IiwgIi5lZ3QiLCAiLmVwdWIiLCAiLmV6dyIsICIuZmR4IiwgIi5mdG0iLCAiLmZ0eCIsICIuZ2RvYyIsICIuaHRtbCIsICIuaHRtIiwgIi5od3AiLCAiLmh3cG1sIiwgIi5sb2ciLCAiLmx3cCIsICIubWJwIiwgIi5tZCIsICIubWN3IiwgIi5tb2JpIiwgIi5uYiIsICIubmJwIiwgIi5vZG0iLCAiLm9kdCIsICJvdXQiLCAiLm90dCIsICIub21tIiwgIi5wYWdlcyIsICIucGFwIiwgIi5wZGF4IiwgIi5wZGYiLCAiLnJ0ZiIsICIucXVveCIsICIucnB0IiwgIi5zZHciLCAiLnNlIiwgIi5zdHciLCAiLnN4dyIsICIudGV4IiwgIi5pbmZvIiwgIi50cm9mZiIsICIudHh0IiwgIi51b2YiLCAiLnVvbWwiLCAiLnZpYSIsICIud3BkIiwgIi53cHMiLCAiLndwdCIsICIud3JkIiwgIi53cmYiLCAiLndyaSIsICIueGh0bWwiLCAiLnhtbCIsICIueHBzIiwgIi5qYXZhIn07CgkJbG9jYXRpb24gPSBmaWxlLmluZGV4T2YoIi4iKTsKCQlmb3IoaW50IG4gPSAwOyBuIDwgZXh0ZW5zaW9ucy5sZW5ndGg7IG4rKykKCQl7CgkJCWlmKChmaWxlLnN1YnN0cmluZyhsb2NhdGlvbikuY29tcGFyZVRvKGV4dGVuc2lvbnNbbl0pKSAhPSAwKQoJCQl7CgkJCQljb21wYXJlID0gZmFsc2U7CgkJCX0KCQkJZWxzZSBpZigoZmlsZS5zdWJzdHJpbmcobG9jYXRpb24pLmNvbXBhcmVUbyhleHRlbnNpb25zW25dKSkgPT0gMCkKCQkJewoJCQkJY29tcGFyZSA9IHRydWU7CgkJCX0KCQl9CgkJcmV0dXJuIHRydWU7Cgl9CglwdWJsaWMgc3RhdGljIFN0cmluZyBuYW1lTmV3RmlsZSgpCgl7CgkJbG9jYXRpb24gPSBmaWxlLmluZGV4T2YoIi4iKTsKCQluZXdGaWxlID0gZmlsZS5zdWJzdHJpbmcoMCwgbG9jYXRpb24pOwoJCW5ld0ZpbGUgPSBuZXdGaWxlICsgIihjb3B5KS50eHQiOwoJCWZpbGVUd28gPSBuZXcgRmlsZShuZXdGaWxlKTsKCQlyZXR1cm4gZmlsZTsKCX0KCQoJcHVibGljIHN0YXRpYyB2b2lkIENvcHlGaWxlKCkgdGhyb3dzIElPRXhjZXB0aW9uCgl7CgkJU2Nhbm5lciByZWFkID0gbmV3IFNjYW5uZXIoZmlsZW5hbWUpOwoJCVByaW50V3JpdGVyIHdyaXRlID0gbmV3IFByaW50V3JpdGVyKGZpbGVUd28pOwoJCXdoaWxlKHJlYWQuaGFzTmV4dExpbmUoKSkKCQl7CgkJCWxpbmUgPSByZWFkLm5leHRMaW5lKCk7CgkJCXdyaXRlLnByaW50bG4obGluZSk7CgkJfQoJCXJlYWQuY2xvc2UoKTsKCQl3cml0ZS5jbG9zZSgpOyAvL1NhdmVzIGZpbGUKCX0KfQ==