关于Java中File的renameTo函数
先看Java编程实战经典中的一道习题:
编写程序,程序运行时输入目录名称,并把该目录下的所有文件名后缀修改成.txt。
按照题意,我在d盘新建了文件夹test,并在该文件夹下新建了一个文件file.d。接着我写了如下程序
import java.io.File;
import java.util.Scanner; public class Ex09 { public static void main(String[] args) {
// TODO Auto-generated method stub
// Scanner scan = new Scanner(System.in);
// String dirname = scan.nextLine();
// scan.close();
String dirname = null;
dirname = "d:"+File.separator+"test";
File f = new File(dirname);
if (f.isDirectory()) {
File[] fileList = f.listFiles();
for (File file : fileList) {
if (file.isFile()) {
String suffix =
file.getName().substring(
file.getName().lastIndexOf('.')+1);
if (false == "txt".equals(suffix)) {
String destName = file.getName().substring(
0,file.getName().lastIndexOf('.'));
File dest = new File(destName+".txt");
file.renameTo(dest);
}
}
}
}
} }
经检查,程序没有什么问题,但是文件后缀并没有被修改。
后来检查才发现
File dest = new File(destName+".txt"); 这样写虽然不会报错,但是不能表示文件的具体存储位置,需要指明文件的绝对地址才行,
改成如下代码后问题解决。
import java.io.File;
import java.util.Scanner; public class Ex09 { public static void main(String[] args) {
// TODO Auto-generated method stub
// Scanner scan = new Scanner(System.in);
// String dirname = scan.nextLine();
// scan.close();
String dirname = null;
dirname = "d:"+File.separator+"test";
File f = new File(dirname);
if (f.isDirectory()) {
File[] fileList = f.listFiles();
for (File file : fileList) {
if (file.isFile()) {
String suffix = file.getName().substring(
file.getName().lastIndexOf('.')+1);
if (false == "txt".equals(suffix)) {
String s = file.getParent();
String destName = file.getName().substring(
0,file.getName().lastIndexOf('.'));
File dest = new File(s+file.separator+destName+".txt"); file.renameTo(dest);
}
}
}
}
} }
可以看出, renameTo这个函数是可以实现将文件重命名和文件移动的功能的。
关于Java中File的renameTo函数的更多相关文章
- java中File类的常用方法总结
java中File类的常用方法 创建: createNewFile()在指定的路径创建一个空文件,成功返回true,如果已经存在就不创建,然后返回false. mkdir() 在指定的位置创建一个此抽 ...
- python 中的sort 和java中的Collections.sort()函数的使用
x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...
- Java 中File类的createNewFile()与createTempFile(), delete和deleteOnExit区别
1. Java 中File类的createNewFile()与createTempFile()的区别 最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File ...
- JAVA中的内联函数
在说内联函数之前,先说说函数的调用过程. 调用某个函数实际上将程序执行顺序转移到该函数所存放在内存中某个地址,将函数的程序内容执行完后,再返回到 转去执行该函数前的地方.这种转移操作要求在转去前要保护 ...
- java中File的delete()方法删除文件失败的原因
java中File的delete()方法删除文件失败的原因 学习了:http://hujinfan.iteye.com/blog/1266387 的确是忘记关闭了: 引用原文膜拜一下: 一般来说 ja ...
- Java中的lambda匿名函数使用
Java中的lambda匿名函数使用 lambda匿名函数的使用是为了满足某些情况下需要临时定义函数,或者事先定义,需要时才使用.在python里面,lambda表达式的表达方式为:lambda 参数 ...
- java中File类的常用所有方法及其应用
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir() 在指定位置创建一个单级文件夹.mkdirs() 在指定位置 ...
- Java中File常用的方法汇总
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir() 在指定位置创建一个单级文件夹.mkdirs() 在指定位置创建 ...
- 【转】Java中File常用的方法汇总
创建:createNewFile()在指定位置创建一个空文件,成功就返回true,如果已存在就不创建,然后返回false.mkdir() 在指定位置创建一个单级文件夹.mkdirs() 在指定位置创建 ...
随机推荐
- java线程安全总结
转自:http://blog.csdn.net/haolongabc/article/details/7249098 最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣. ...
- C语言位取反问题
1 具体是先把十进制的数先转换成二进制的原码, 按位取反最后一位加一,然后“按权展开”,得到十进制的结果, 如果第一位是1(指转换成二进制的原码中的第一位),说明故是负数所以要在结果前面加上负号-. ...
- CC2540开发板学习笔记(一)——LED点亮
一.实验内容: 点亮LDE1.2 二.实验原理: 1.电路原理图: 就一个发光二极管串联一个电阻.电阻是为了防止电流过大.利用发光二极管的单向导电性,在P1为高电平是点亮LED,在低电平是熄灭LED. ...
- Centos6.4编译安装Node.js(已验证)
1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...
- documnent.getElementbyId(‘myId’)和$(‘#myId’)哪种更高效?
第一种更高效,直接调用javascript引擎.
- 寒假D1 B
B - B Crawling in process... Crawling failed Time Limit:0MS Memory Limit:0KB 64bit IO Format ...
- 骨牌铺方格[HDU2046]
骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
- POJ 1651 (区间DP)
题目链接: http://poj.org/problem?id=1651 题目大意:加分取牌.如果一张牌左右有牌则可以取出,分数为左牌*中牌*右牌.这样最后肯定还剩2张牌.求一个取牌顺序,使得加分最少 ...
- TYVJ P1094 矩形分割 标签:DP
做题记录:2016-08-12 21:42:21 背景 YHOI Train#4 Problem 1 描述 出于某些方面的需求,我们要把一块N×M的木板切成一个个1×1的小方块.对于一块木板,我们只能 ...
- jar MANIFEST.MF 汇总
: Manifest-Version: 1.0Created-By: Apache Ant 1.5.1Extension-Name: Struts FrameworkSpecification-Tit ...