这应该是一项非常简单的任务,但我已经有一段时间没有成功......
在我的应用程序中,我在SD卡中创建了一个文件夹,我存储了临时的jpg文件。由于我不希望我的应用程序在浏览手机图像时显示这些临时文件,因此我试图隐藏该文件夹。所以,在创建dir之后,我尝试重命名它,就像这样:
String tmppath="/sdcard/myapp/tmp";
try
{
//this creates a directory named TMP -->OK!
File f=new File(tmppath);
if(!f.isDirectory())
f.mkdirs();
//this was supposed to rename the directory to .TMP, but isn't working...
Process process=Runtime.getRuntime().exec("mv "+tmppath +" /sdcard/myapp/.tmp/");
process.waitFor();
}
catch(SecurityException e)
{
}
catch(IOException e)
{
}
catch (InterruptedException e)
{
}
有什么想法吗?
答案 0 :(得分:15)
File file = new File("your old file name");
File file2 = new File("your new file name");
boolean success = file.renameTo(file2);
答案 1 :(得分:6)
final File F=new File("youroldpath");
String newname="newname";
File newfile=new File(F.getParent(),newname);
F.renameTo(newfile);
答案 2 :(得分:2)
您是否尝试在File中使用renameTo方法? Here是重命名文件或文件夹的示例。
package com.tutorialspoint;
import java.io.File;
public class FileDemo {
public static void main(String[] args) {
File f = null;
File f1 = null;
boolean bool = false;
try{
// create new File objects
f = new File("C:/test.txt");
f1 = new File("C:/testABC.txt");
// rename file
bool = f.renameTo(f1);
// print
System.out.print("File renamed? "+bool);
}catch(Exception e){
// if any error occurs
e.printStackTrace();
}
}
}