程序再运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流。

程序可能经常需要获取磁盘上文件的有关信息或在磁盘上创建新的文件等,这就需要学习使用File类。

创建一个File对象的构造方法有三个:

File (String filename);

File (String directoryPath, String filename);

File (File dir, String filename);

使用File(String filename)创建文件时,该文件被认为与当前应用程序在同一目录中。

文件的属性

经常使用File类的下列方法获取文件本身的一些信息。

public String getName() 获取文件的名字

public boolean canRead() 判断文件是否是可读的

public boolean canWrite() 判断文件是否可被写入

public boolean exits() 判断文件是否存在

public long length() 获取文件的长度

public String getAbsolutePath() 获取文件的绝对路径

File类对象的方法使用情况如下所示:

import java.io.File;
import java.io.IOException; public class Test01 { public static void main(String[] args) {
// TODO Auto-generated method stub
File file = new File("E:/test", "Test02.java");
System.out.println(file.getName() + "是可读的吗:" + file.canRead());
System.out.println(file.getName() + "的长度:" + file.length());
System.out.println(file.getName() + "的绝对路径是:" + file.getAbsolutePath());
System.out.println();
File file1 = new File("new.txt");
System.out.println("在当前目录下创建新文件" + file1.getName());
if(!file1.exists())
{
try{
file1.createNewFile();
System.out.println("创建成功");
}
catch(IOException exp)
{ }
}
} }

运行结果如下所示:

在写路径的时候,可以写出"E:\test"或者“E://test”,千万不可以写出"E:/test"。

目录

 1.创建目录

File对象调用方法public boolean mkdir()创建一个目录,如果创建成功返回true,否则返回flase(如果该目录已经存在将返回false)。

 2.列出目录中的文件

如果File对象是一个目录,那么该对象调用下列方法列出该目录的文件和子目录。

public String[] list() 用字符串形式返回目录下的全部文件。

public File[] listFiles() 用File对象形式返回目录下的全部文件

有时需要列出目录下指定类型的文件,比如.java文件

public String[] list(FilenameFilter obj) 该方法用字符串形式返回目录下的指定类型的所有文件。

public File[] listFiles(FilenameFilter obj) 该方法用File对象形式返回目录下的指定类型的所有文件。

上述两个方法的参数FilenameFilter是一个接口,该接口由一个方法:

public boolean accept(File dir, String name);

代码展示如下所示:

import java.io.File;

public class Test02 {

    public static void main(String[] args) {
// TODO Auto-generated method stub
File dirFile = new File(".");
FileAccept fileAccept = new FileAccept();
fileAccept.setExtendName("java");
String fileName[] = dirFile.list(fileAccept);
for(String name : fileName)
{
System.out.println(name);
}
} }
import java.io.File;
import java.io.FilenameFilter; public class FileAccept implements FilenameFilter{
private String extendName;
public void setExtendName(String s)
{
extendName = "." + s;
}
public boolean accept(File dir, String name)//重写接口中的方法
{
return name.endsWith(extendName);
} }

review22的更多相关文章

随机推荐

  1. coursera 《现代操作系统》 -- 第九周 文件系统(1)

    文件的定义 文件名-> 路径名 磁盘结构 磁臂转还是那根柱子转? 盘片被轴带动旋转,磁头读取经过的扇区的数据. 典型的磁盘结构 一块盘呢由若干个盘片组成 每个盘片呢实际上有两个面啊,两个盘面 每 ...

  2. php7/etc/php-fpm.d 配置

    php7/etc/php-fpm.d/www.conf nginx php-fpm 高并发优化 - 日记本的回忆 - 博客园 https://www.cnblogs.com/cocoliu/p/856 ...

  3. Constructor Acquires, Destructor Releases Resource Acquisition Is Initialization

    w https://zh.wikipedia.org/wiki/RAII RAII要求,资源的有效期与持有资源的对象的生命期严格绑定,即由对象的构造函数完成资源的分配(获取),同时由析构函数完成资源的 ...

  4. 【转】 通过VMLibrary在client partition上安装AIX全程实录

    现场实录,应该对新手有所帮助,因为本人就是新手...最近一段时间跟Linux无缘,都是在和PowerVM打交道,博文更新慢,不赖我,哈哈本文参考链接:AIX Migration with File-B ...

  5. Echarts-雷达图

    // 显示能力雷达图 $(".company .grade").hover(function () { $(".powerChart").show(); var ...

  6. Maven学习笔记【1】 -- Maven简介

    本文主要讲Maven的基础知识. 一 什么是Maven? Maven是一个项目管理工具.Maven提供了一个项目对象模型(POM)文件的新概念来管理项目的构建,相关性和文档.最强大的功能就是能够自动下 ...

  7. OFMessageDecoder 分析

         OFMessageDecoder 继承了抽象类 FrameDecoder.FrameDecoder 会将接收到的ChannelBuffers 转换成有意义的 frame 对象.在基于流的传输 ...

  8. C# W3 调试

    如果在调试附加进程中 没W3进程的话, 在运行里输入 uac  设置为从不通知 即可:

  9. 源码编译搭建LAMP

    环境版本信息: RHEL 5.3 Apache / 2.4.16 PHP / 5.4.45 mysql-5.5.45 源代码编译 安装方式 1: configure 配置 以及定制我们的软件包 2: ...

  10. POJ - 2464 Brownie Points II 【树状数组 + 离散化】【好题】

    题目链接 http://poj.org/problem?id=2464 题意 在一个二维坐标系上 给出一些点 Stan 先画一条过一点的水平线 Odd 再画一条 过Stan那条水平线上的任一点的垂直线 ...