Dom4j SAXReader 解析xml文件之后,将xml文件重命名为"xxx.bak"失败

  1. 以下方式解析xml文件,然后重命名失败
File file = new File("D/test.txt"); 
Document doc = reader.read(file );
...

file.renameTo(new File(file.getPath() + ".bak"));
  1. 将FileInputStream引入,这样就可以重命名了
FileInputStream fis = null;	
File file = new File("D/test.txt");
	try {
    
    
		fis = new FileInputStream(file);
		Document doc = reader.read(fis);
		...

		} catch (Exception e) {
    
    
			e.printStackTrace();
		}  finally {
    
    
			if(fis != null) {
    
      
		    	try {
    
    
					fis.close();
				} catch (IOException e) {
    
    
					e.printStackTrace();
				}  
		    } 
		}
		file.renameTo(new File(file.getPath() + ".bak"));

另外,用其他流也可以的

补充:重命名失败,也有可能"xxx.bak"已经存在了,所以在重命名前先判断一下file2是否已经存在

File bakFile = new File(file.getPath() + ".bak");
if(bakFile.exists()){
    
    
	bakFile = new File(file.getPath() + ".bak2");
}
file.renameTo(bakFile);

猜你喜欢

转载自blog.csdn.net/steven27_3/article/details/103273162