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

程序可能经常需要获取磁盘上文件的有关信息或在磁盘上创建新的文件等,这就需要学习使用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. 学习 Unix 常用命令

    第一个是 man 命令,作用是:"Display system documentation",我是 manual 的缩写.通过这个命令,我们能了解接下来要学习的命令的文档. ls, ...

  2. RedHat6/Centos6.5安装mongodb php driver

    条件: 安装apache 安装php 1.下载mongodb phh driver 下载地址:pecl wget http://pecl.php.net/get/mongo-1.5.8.tgz 2.解 ...

  3. angular2表单初体验

    1.创建movie模型. 最近对angular2比较感兴趣,跟着官网学习一段,练习了一个表单demo! src/app/movie.ts文件: export class Movie{ construc ...

  4. Django 路由系统(URL)

    介绍 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表. 你就是以这种方式告 ...

  5. 如何修改本地hosts文件?

    1.window7修改本地hosts文件 # window7系统hosts文件位置 C:\Windows\System32\drivers\etc 2.linux # linux系统hosts文件位置 ...

  6. Android系统移植与调试之------->build.prop生成过程分析

    本文简要分析一下build.prop是如何生成的.Android的build.prop文件是在Android编译时刻收集的各种property(LCD density/语言/编译时间, etc.),编 ...

  7. spring(13)------全面深入解析spring的AOP

    一,AOP的基本思想 AOP(Aspect Oriented Programming)翻译成中文的大意是面向切面编程,主要目的解决让不该牵扯在一起的代码分离开来. (1)认识AOP 应用程序中通常包含 ...

  8. linux安装jdk_1.8

    转载自http://blog.csdn.net/ldl22847/article/details/7605650 1.下载jdk的rpm安装包,这里以jdk-8u141-linux-x64.rpm为例 ...

  9. golang安装环境变量配置和beegoan安装

    下载安装 go get github.com/astaxie/beego bee 工具的安装 go get github.com/beego/bee 升级 $ go get -u github.com ...

  10. python之网络socket编程

    一.网络协议 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系: ...