/**
* 要求用户输入一个文件名并使用File在当前目录下创建出来。
* 若该文件已经存在,则提示用户该文件已经存在。并创建该文件副本:
* 例如:用户输入"test.txt".若该文件已存在,提示用户存在后,创建名为:test_副本1.txt 的文件
* 若该文件也存在了,则创建名为:test_副本2.txt 的文件,以此类推
* @author Xiloer
*
*/
代码如下:
public class Test02 {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
System.out.println("请输入文件名:");
String input = scan.nextLine().trim();
File file = new File("test.txt");
boolean flag = file.exists();
if(!flag){//若不存在
file.createNewFile();
}else{
int index = 0;
while(flag){
index++;
file = new File("test_副本"+index+".txt");
flag = file.exists();
}
file.createNewFile();
}
System.out.println("文件名:"+file.getName());
}
}
删除文件操作
要求:要求用户输入一个文件或目录名,若为文件则删除,若为目录(目录中可能有其他文件或目录)也删除
代码如下:
public class Test05 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入文件或目录名字:");
String input = scan.nextLine().trim();//接收名字
File file = new File(input);
if(!file.exists()){//要删除的文件或目录是否存在
System.out.println("目录或文件不存在");
return;
}
deleteFile(file);
}
//遍历过程中,元素为文件则删除,元素为有内容目录则继续遍历,
//元素为空目录则执行if后,不会执行for循环,但要执行删除语句,将空目录删除,递归删除以上所有
public static void deleteFile(File file){
//如果是目录,需要先删除当前目录下的所有子项
if(file.isDirectory()){
for(File f : file.listFiles()){//遍历子目录
deleteFile(f);
}
}
file.delete();//必定执行的语句
}
}
|