java修改文件名-renameTo()方法的使用实例,复制一个文件或者叫转存一个文件
2017-05-24 09:36
911 查看
使用Java语言,修改一个文件的名称,包括文件类型啥的。
下面是操作前后的,对比截图。
稍加说明:
可见是在原来的文件上直接修改的,重命名之后,原来的文件就不见了,这个好像不大符合要求,
还是写个代码,简单的实现一下转存比较好。就是把原文件留在原地,然后,复制一个出来,在换个名称。这么个解决方法才是比较合理的。
然后下面是代码实现,实现转存一个文件。
操作前后的对比图。
看到上面的代码,那么简单。
但是,不知道作为观众的你,有没有发现上面代码是有问题的呢?就是转存文件的这个代码,是有问题的。
想知道吗?
看法宝。。。哦不对,是看链接:
java使 FileWriter FileReader 带上编码格式设置
为什么我要重命名文件呢?
因为我使用的是Java的Properties的类读取配置属性。
但是呢,配置文件的名称呢又不是以.properties结尾的。但是文件内容却是properties文件。
具体可以参看上面的执行结果的截图。
所以,我就天真的以为,把原来的文件转存一下,修改了下文件名,刚刚开始使用renameTo()方法。
但是,这个会把原来的文件给修改了。也不合适,然后才出现后面的转存文件的代码。
原来,读取文件的时候,是跟文件的后缀名是没有半毛钱关系的。
所以,根本就不需要把原来要读的文件,修改成以.properties结尾的properties文件,再读。
当然,存的时候,也是,直接调用properties.store();方法,保存就可以了。
保存的文件名以及文件的格式,是txt还是properties还是Excel,还是啥的,都不影响写入的。
使用properties.store();就直接给存成文件了,文件名以及各式无所谓啦。
你要是搜索这篇文章初衷,和我一样呢,那就没必要转存或者重命名了,直接操作文件就OK。
我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。
/** * 重命名一个文件:将原来的文件直接修改 */ private static void testRenameFile() { String filePath = "D:/test/我是.conf"; try { File src = new File(filePath); filePath += ".properties"; File des = new File(filePath); if (des.exists()) { boolean res = des.delete(); if (!res) { System.out.println("Failed to delete file"); } } if (!src.renameTo(des)) { System.out.println("Failed to renameTo file"); } } catch (Exception e) { System.out.println(e.getMessage()); } }
下面是操作前后的,对比截图。
稍加说明:
可见是在原来的文件上直接修改的,重命名之后,原来的文件就不见了,这个好像不大符合要求,
还是写个代码,简单的实现一下转存比较好。就是把原文件留在原地,然后,复制一个出来,在换个名称。这么个解决方法才是比较合理的。
然后下面是代码实现,实现转存一个文件。
/** * 用缓冲区读写,来提升读写效率。 */ private static void fileCopyRightWay() { FileWriter fw = null; FileReader fr = null; try { fr = new FileReader("D:/test/我是.conf");//读 fw = new FileWriter("D:/test/我是.conf.properties");//写 char[] buf = new char[1024];//缓冲区 int len; while ((len = fr.read(buf)) != -1) { fw.write(buf, 0, len);//读几个写几个 } } catch (IOException e) { System.out.println(e.getMessage()); } finally { if (fr != null) { try { fr.close(); } catch (IOException e) { System.out.println(e.getMessage()); } } if (fw != null) { try { fw.flush(); fw.close(); } catch (IOException e) { System.out.println(e.getMessage()); } } } }
操作前后的对比图。
看到上面的代码,那么简单。
但是,不知道作为观众的你,有没有发现上面代码是有问题的呢?就是转存文件的这个代码,是有问题的。
想知道吗?
看法宝。。。哦不对,是看链接:
java使 FileWriter FileReader 带上编码格式设置
为什么我要重命名文件呢?
因为我使用的是Java的Properties的类读取配置属性。
但是呢,配置文件的名称呢又不是以.properties结尾的。但是文件内容却是properties文件。
具体可以参看上面的执行结果的截图。
所以,我就天真的以为,把原来的文件转存一下,修改了下文件名,刚刚开始使用renameTo()方法。
但是,这个会把原来的文件给修改了。也不合适,然后才出现后面的转存文件的代码。
原来,读取文件的时候,是跟文件的后缀名是没有半毛钱关系的。
所以,根本就不需要把原来要读的文件,修改成以.properties结尾的properties文件,再读。
当然,存的时候,也是,直接调用properties.store();方法,保存就可以了。
保存的文件名以及文件的格式,是txt还是properties还是Excel,还是啥的,都不影响写入的。
使用properties.store();就直接给存成文件了,文件名以及各式无所谓啦。
你要是搜索这篇文章初衷,和我一样呢,那就没必要转存或者重命名了,直接操作文件就OK。
我写完文章,给自己点个赞,不过分吧,
不过分,那我可就点啦啊。
我先点为敬,你们随意。大家随意。不要客气。。。
相关文章推荐
- [Java]File文件的新建、删除、修改、搜索的实例方法
- java 3中方法复制一个文件
- Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached区别 & redis-cli.exe命令及示例)
- java怎么创建目录(删除/修改/复制目录及文件)代码实例
- GIT 版本控制软件的常用命令记录每次更新到仓库 现在我们手上已经有了一个真实项目的 Git 仓库,并从这个仓库中取出了所有文件的工作拷贝。接下来,对这些文件作些修改,在完成了一个阶段的目标和使用方法
- 【Java学习笔记】基础知识学习18【一个小文件的复制方法】
- Java LinkedList特有方法程序小解 && 使用LinkedList 模拟一个堆栈或者队列数据结构。
- eclipse修改java代码或者其他一些资源例如配置文件,freemarker文件时tomcat不自动重启的方法
- 简单完整的代码,通过这个代码你将对RSA加密算法在Java中的实现方法有一个初步的了解,这个类,你可以直接使用,水平高的,就自己修改完善下代码。
- 复制一个文件夹下所有文件(包括子文件夹)并修改文件后缀名 java实现加密文档unlock
- java写的一个用字节流复制文件的方法
- 黑马程序员——java-使用IO流复制文件主要的五种方法
- 使用Java的多线程和IO流写一个文件复制功能类
- java中如何使用asm动态的生成或修改一个class文件以及asm的架构思想
- 源程序List1.java,展示了如何使用list()方法来检查一个目录的内容的实例
- 一个使用java File类分割文件的方法
- 使用javac,手动编译一个java文件的方法
- java中怎么把原始目录下的文件。复制到另外一个目录中,并且文件名不改掉
- Myeclipse2015 Jrebel插件的安装、配置、使用(新建.java文件、给类添加新方法、新属性、修改代码等,不用重启tomcat即可更新)
- 实例展示使用Java压缩和解压缩7z文件的方法