java中文件的重命名和对应文件的格式变换分析
在学习文件操作方法时,有rename方法可以实现更改文件路径操作。同时,rename也可以进行文件名的修改。那么这种修改到底是否会改变文件的格式呢?
我们先进行重命名实现借助重命名,实现文件的移动
File src1 = new File("C:\\Users\\df\\Desktop\\HAS.png");
File dst1 = new File("C:\\Users\\df\\Desktop\\ABC\\has.jpg");
System.out.println(src1.renameTo(dst1));
此时src1的文件路径和名称已经得到修改。但是当比较图片的属性发现,虽然其图标和文件名发生变化,但内部内容大小没有改变。
所以可以理解为:使用java中的文件操作文件重命名和我们直接在文件夹的重命名原理类似。他们都不曾丢失损坏数据。只是一种表象的改变,这种改变可能会更改其打开方式,但是内容不会改变。他若我们执行:
File src1 = new File("C:\\Users\\df\\Desktop\\HAS.png");
File dst1 = new File("C:\\Users\\df\\Desktop\\ABC\\has.mp4");
System.out.println(src1.renameTo(dst1));
这里将文件命名为MP4文件,打开文件时,会出现文件无法打开错误。这其实是因为其后缀误导系统没有使用正确的工具打开文件导致的。如果我们对文件右键选取画图作为打开方式,会发现即使后缀为
.mp4 但文件人可以显示图片。
**那么怎样才是真正更改文件的类型?**
格式化工厂就是一种真正的类型更改,这种更改会使得文件内容数据发生变化,而不单单是只改变一个文件名和后缀这种表象。