文件的创建与删除

论坛 期权论坛 脚本     
匿名技术用户   2021-1-7 10:48   11   0
/**
 * 要求用户输入一个文件名并使用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();//必定执行的语句
 }
}




分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP