清水鼻涕泡
2018-03-31 13:51
采纳率: 87.5%
浏览 1.2k
已采纳

java文件重新创建问题

java判断如果存在该文件就改名新建一个文件 如:
File file=new File("f:/test/C.txt");
如果该目录已经有了该文件就新建一个C2.txt文件;
如果已经有了c2.txt就新建一个c3.txt 如此判断循环
怎么写啊 求大神

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • threenewbee 2018-03-31 15:37
    已采纳

    String dn = "c";
    String ext = "txt";
    int i = 0;
    File file=new File("f:/test/" + fn + "." + ext);
    while (file.exists())
    {
    file=new File("f:/test/" + fn + i + "." + ext);
    }
    做你的操作

    打赏 评论
  • threenewbee 2018-03-31 15:38
     笔误
    
    
    String dn = "c";
    String ext = "txt";
    int i = 0;
    File file=new File("f:/test/" + fn + "." + ext);
    while (file.exists())
    {
    file=new File("f:/test/" + fn + (++i) + "." + ext);
    }
    //做你的操作
    ...
    
    打赏 评论
  • flybridy 2018-04-02 08:05

    建议使用 commons-io 包中的FileUtils类,里面都是各种封装的文件操作的。按照行读取,返回数组,判断是否存在等等。可以参考这个帖子,都是封装好的,用起来方便,比你自己写的io稳定。
    https://blog.csdn.net/houfeng30920/article/details/51997368

    打赏 评论
  • 昂扬向上小青年 2018-04-04 07:44

    File file=new File("f:/test/C"+System.currentTimeMillis()+".txt");
    文件名加上时间戳,不会重复

    打赏 评论
  • 小白不止一个 2018-04-07 10:47

    //亲测可行
    package test.file;
    import java.io.File;
    import java.io.IOException;

    public class TestFile {

    public static void main(String[] args) {
        int i = 0;      
        String path="D:/test/";
        File file=new File(path);
        if(!file.exists()){
            file.mkdirs();}     
        file = new File(path,"c"+(++i) + "." + "txt");
        while(file.exists()){
            file = new File(path,"c"+(++i) + "." + "txt");
        }
        try {
            file.createNewFile();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    

    }

    打赏 评论

相关推荐 更多相似问题