java的File类
File类是java中表示文件和目录名的抽象表示形式。File类可以实现文件的创建,删除,重命名,获取路径,创建时间等等,是唯一一个与文件本身有关的操作。所以有必要好好学习File类。
主要使用方法:
1.public File(String pathname)----根据文件路径构造File实例
2.public boolean createNewFile()throws IOException-----创建文件
3.public boolean delete()----------删除文件
4.public String getParent()----------得到文件的上一级路径
5.public boolean isDirectory()------判断是不是文件夹
6.public boolean isFile()------判断是不是文件
7.public String[]list()------------列出文件夹中的文件名
8.public File[] listFile()------------列出文件夹的所有文件实例
9.public boolean mkdir()----------创建文件夹
10.public boolean renameTo(File dest)-----文件重命名(可以理解移动文件)
11.public long length()-------返回文件大小
12.String getpath()-----------路径名字符串
示例代码:
- package com;
- import java.io.File;
- import java.io.IOException;
- public class Test {
- public static void main(String[] args) {
- //File.separator是跨平台的,在windows下为D:\\1.txt,linux下为D:/1.txt
- File file=new File("D:"+File.separator+"1.txt");
- //文件不存在
- if(!file.exists())
- {
- try {
- if(file.createNewFile())//创建文件
- System.out.println("文件创建成功");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- //得到文件的上一级路径
- System.out.println("上级目录:"+file.getParent());
- //判断是否是目录
- System.out.println("是否是目录:"+file.isDirectory());
- //判断是否是文件
- System.out.println("是否是文件:"+file.isFile());
- //获取文件大小
- System.out.println("文件大小为:"+file.length());
- //文件路径
- System.out.println(file.getPath());
- //重命名,返回值为true时。相当于把D:\\1.txt移动到L:\\kk22.php
- if(file.renameTo(new File("L:\\kk22.php")))
- System.out.println("重命名成功");
- else {
- System.out.println("重命名失败");
- }
- //指向重命名的文件
- file=new File("L:\\kk22.php");
- if(file.delete())
- System.out.println("文件删除成功");
- //--------------------------------------目录演示
- file=new File("L:"+File.separator+"javaTest");
- //不存在
- if(!file.exists())
- {
- file.mkdir();//创建该目录
- }
- //为该目录添加文件
- String temp;
- for(int i=0;i<4;i++)
- {
- temp="";
- temp="L:"+File.separator+"javaTest"+File.separator+i+"txt";
- File ok=new File(temp);
- try {
- ok.createNewFile();//创建该文件
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }//
- }
- //获取该目录下的文件名
- String[] name=file.list();
- for(int i=0;i<4;i++)
- System.out.println(name[i]);
- //获取该目录下的文件实例
- File[] files=file.listFiles();
- for(int i=0;i<4;i++)
- System.out.println(files[i].getPath());
- }
- }
File只能获取文件路径创建时间等信息以及文件的创建和删除,不能对文件里面的具体内容实现获取和修改。
获取和修改文件的具体内容需要用到java的IO流。之后会讲解IO相关的操作。