File 类使用总结
1. 文件的建立
在使用 File f = new File("dir");的时候,这个dir若是是完整的路径。例如 F:\\ll。注意:在这一步的时候实际上还未创建文件或目录
若是相对的路径,例如 "ll",那么该文件就会创建在工程的根目录下
若只是想创建文件 则还需要下面完整语句
若是想创建目录:
2. 重命名文件
3. 文件的移动
4. 设置文件的最后修改时间
5. 获得过程的目录
6. 目录的删除
7. 获得所有的操作系统的根路径
若是linux系统,则获得是/ ,若是window系统,那么获得的是几个硬盘名字。立体如下所表示:
8. 根据不同的操作系统来定义文件的路径,如在window系统中是用\,在linux、unix系统中是\
9. File && URL之间的转换
10. 读取文件时候指定编码方式
1. 文件的建立
在使用 File f = new File("dir");的时候,这个dir若是是完整的路径。例如 F:\\ll。注意:在这一步的时候实际上还未创建文件或目录
若是相对的路径,例如 "ll",那么该文件就会创建在工程的根目录下
若只是想创建文件 则还需要下面完整语句
File f = new File("dir") //这步只是建立了一个到dir的文件句柄,实际上还未做任何操作
boolean success = f.createNewFile();
若是想创建目录:
File f = new File("F:\\haha\\ll");
boolean success = f.mkdir(); //该方式创建的要求是它的父目录存在
boolean success2 = f.mkdirs(); //该方式表示父目录不存在,则创建父目录。建议使用这种方式进行目录的创建。
2. 重命名文件
File f1 = new File("F:\\haha.txt"); //注意:这个文件必须是存在的,如果不存在,那么使用 f1.createNewFile();
File f2 = new File("new.txt"); //这个f2可以是不存在。如果是相对路径,那么就是存在工程目录下面D:\develop\myUtil
boolean success = f1.renameTo(f2);
3. 文件的移动
File file = new File("F:\\new.txt");
File dir = new File("F:\\haha");
boolean success = file.renameTo(new File(dir,file.getName()));
if(success){
System.out.println("create file success");
}
4. 设置文件的最后修改时间
File file = new File("F:\\haha\\new.txt");
long l = file.lastModified();
long current = System.currentTimeMillis();
boolean success = file.setLastModified(current);
if(success){
System.out.println("modify success!");
}
5. 获得过程的目录
String dir = System.getProperty("user.dir");
System.out.println(dir); //这里输出的就是 工程所在的目录 D:\develop\myUtil
6. 目录的删除
//删除文件只能用全路径
public static boolean deleteDir(File file){
if(file.isDirectory()){
String[] dirList = file.list();
if(dirList.length!=0){ //这里不是为NULL值,若无则长度为0
for(int i = 0 ; i < dirList.length ; i++){
boolean success = deleteDir(new File(file,dirList[i]));
if(!success){
return false;
}
}
}
}
return file.delete();
}
7. 获得所有的操作系统的根路径
若是linux系统,则获得是/ ,若是window系统,那么获得的是几个硬盘名字。立体如下所表示:
File[] roots = File.listRoots();
System.out.println(roots.length);
for(File ff : roots){
System.out.println(ff.toString());
process(ff);
}
8. 根据不同的操作系统来定义文件的路径,如在window系统中是用\,在linux、unix系统中是\
// 那么File.separator就会根据不同的操作系统来进行相应的改动
String path = File.separator+"a"+File.separator+"b";
System.out.println(path);
// 得到的就是 \a\b 我们可以配合File.listRoots()来进行配合使用
String path = File.listRoots()[0]+"a"+File.separator+"b";
System.out.println(path);
//得到的是 c:\a\b
9. File && URL之间的转换
File file = new File(File.listRoots()[3]+"haha");
/* conver file to url*/
URL url = file.toURL(); //file:/F:/haha/
/* conver url to file*/
File f2 = new File(url.getFile());//F:\haha
10. 读取文件时候指定编码方式
BufferedReader br = new BufferedReader(
new InputStreamReader(new FileInputStream("hah.txt"),"UTF8"));
String len = null;
StringBuffer pp = new StringBuffer();
while((len = (br.readLine()))!=null){
pp.append(len);
}