您的位置:首页 > 编程语言 > Java开发

IO操作-File

2015-11-12 23:12 393 查看

IO学习

学习法则:当子类复写父类方法时,会根据实例化子类的不同,同一方法可以完成不同的功能。

File类

File类是在整个java.io包之中唯一一个与文件本身操作有关的类,文件本身操作指的是文件的创建、删除等,但是如果要进行File类操作那么必须设置好要操作的文件或文件夹的路径,使用如下构造方法。

构造方法

public File(String pathname),传入完整的路径,WEB开发此方式比较好用

public File(File parent, String child),传入父路径和子路径。

范例:基本的文件操作

创建新的文件

public boolean createFile() throws IOException;

删除文件

public boolean delete();

判断文件是否存在

public boolean exists();

public class TestDemo{
public static void main(String[] args) throws Exception {
File file = new File("D:\\demo.txt");
if(file.exists()){
file.delete();
} else{
file.createFile();
}
}


本程序依然存在如下几个问题:

Java的最大特征是可移植性,分隔符不同,一般在windows开发,最后部署在Linux之中;

public static final String separator

在程序执行完之后文件并不会立刻删除或者是创建,存在有一定的延迟,因为Java程序是通过JVM间接调用系统函数实现的文件操作。

如果在进行文件创建的时候,如果有目录,则需要先创建文件目录之后才可以创建文件。

找到父路径:

public File getParentFile();

创建目录:

public boolean mkdirs();

除了以上的一些文件操作,还有一些取得文件信息的方法。

判断路径是否是文件

public boolean isFile();

判断路径是否是文件夹

public boolean isDirectory();

最后一次修改日期

public long lastModified();

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS")
.format(new Date(file.lastModified()));


取得文件大小

public long length();

修改文件名称

public boolean renameTo(File dest);

列出目录中的所有文件内容

列出目录内容

public File[] listFiles();

File file = new File("D:" + File.separator + "testjava");
if(file.exists() && file.isDirectory()) {
File[] result = file.listFiles();
for(int x = 0; x < result.length; x++) {
System.out.println(result[x]);
}
}


但是此时列出的只是当前目录的文件内容。

范例:列出一个目录之中的所有文件(包括所有子目录的文件)

public static void print(File file) {
if(file.exists() && file.isDirectory()) {
File[] result = file.listFiles();
if(result != null) { //有些文件我们并没有权限打开
for(int x = 0; x < result.length; x++) {
print(result);
}
}
}
System.out.println(file);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java io File