public static void main(String[] args) {
File file = new File("/192.168.51.160/test/copy/a/base.avi");
if (file.exists()) {
File temp = new File("/192.168.51.160/test/copy/a/base.avi_temp");
if (file.renameTo(temp)) {
System.out.println("重命名成功!");
}
if (temp.exists()) {
System.out.println(temp.getName()+"存在!");
try {
RandomAccessFile Rand = new RandomAccessFile(file, "rw");
Rand.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
控制台打印出以下信息重命名成功!
base.avi_temp存在!然后就报出FileNotFoundException异常java.io.FileNotFoundException: /192.168.51.160/test/copy/a/base.avi_temp (Input/output error)可我的文件都是存在的。当我把base.avi_temp  改之前的文件名base.avi时此文件就打不开了。会不会因为该文件损坏导致了java.io.FileNotFoundException: /192.168.51.160/test/copy/a/base.avi_temp (Input/output error)这个异常
  
如果是文件损坏,它为什么会损坏?我只是重命名了一下啊!还有我特变想知道(Input/output error) 具体指的是什么

解决方案 »

  1.   


                try {
                        RandomAccessFile Rand = new RandomAccessFile(file, "rw");//temp就可以了
                        Rand.close();
                    } catch (FileNotFoundException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                }你已经将file重命名为temp了
      

  2.   

    RandomAccessFile Rand = new RandomAccessFile(file, "rw");//temp就可以了
    这句找不到file就会创建,只不过创建的没有内容,可能异常不是这产生的吧
      

  3.   


      RandomAccessFile Rand = new RandomAccessFile(temp, "rw");//temp就可以了
                        Rand.close();改成temp了还是报这个错
      

  4.   

    我把
    RandomAccessFile Rand = new RandomAccessFile(file, "rw");//temp就可以了改成了temp还是报这个错RandomAccessFile Rand = new RandomAccessFile(temp, "rw"); 
    各位大侠帮我看看啊http://topic.csdn.net/u/20121013/10/d26707db-764a-4b99-b1db-22dd95338146.html