A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王新春 黑马帝   /  2011-11-15 13:16  /  2039 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王新春 于 2011-11-22 16:51 编辑

当要把d:\\RuntimeDemo.java这个文件复制到c:\\RuntimeDemo_copy.java中的时候,那要是C盘下已经存在了一个RuntimeDemo_copy.java文件的时候,那么不想重新在创建这个文件了,也不想覆盖它,那么还能输出一个提示,该怎么做呢?

import java.io.*;
public class CopyText {
        public static void main(String[] args) throws Exception{
               
           copy_1();
        }
    public static void  copy_1()throws Exception
    {
            //创建目的地。
            FileWriter fw=new FileWriter("c:\\RuntimeDemo_copy.txt");
           
            //与已有文件关联。
            FileReader fr=new FileReader("d:\\RuntimeDemo.java");
            int ch=0;
            while((ch=fr.read())!=-1)
            {
                    fw.write(ch);
            }
            fw.close();
            fr.close();
    }
}

3 个回复

倒序浏览
强子 黑马帝 2011-11-15 13:33:33
沙发
可以先判断RuntimeDemo_copy.java文件是否存在  
if存在{

else{
回复 使用道具 举报
本帖最后由 宋文轩 于 2011-11-15 15:24 编辑

FileWriter fw=new FileWriter("c:\\RuntimeDemo_copy.txt");
这句前面建立一个File对象 用File对象File file=new File(c:\\RuntimeDemo_copy.txt)    然后用file.exists()方法来判断这个文件是否存在了。如果存在了可以直接抛出RuntimeException("目标文件已经存在,请检查!")
然后改 写入流为  FileWritre fw=new FileWriter(file);就可以了。File这个类后面的视频会讲到的。
回复 使用道具 举报
package execisetest;

import java.io.*;
public class CopyText {
            private static FileWriter fw=null;
        public static void main(String[] args) throws Exception{              
           copy_1();
        }
    public static void  copy_1()throws Exception
    {
            //创建目的地。
            //如果存在则返回不存在则执行
                if(creatStream()==0){
            //与已有文件关联。
            FileReader fr=new FileReader("d:\\RuntimeDemo.java");
            int ch=0;
            
            while((ch=fr.read())!=-1)
           {
            fw.write(ch);
           }
            fw.close();
           fr.close();
    }
   
    else
            return;
   }
    public static int creatStream()throws IOException{
            String fileName="c:\\RuntimeDemo_copy.txt";
            File ff=new File(fileName);
            if(ff.exists()){
                    System.out.println(fileName+"文件已存在");
                    return 1;
            }
            else           
            fw=new FileWriter("c:\\RuntimeDemo_copy.txt");
            return 0;
    }        
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马