review22
程序再运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流。
程序可能经常需要获取磁盘上文件的有关信息或在磁盘上创建新的文件等,这就需要学习使用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的更多相关文章
随机推荐
- entropy 压缩信息的熵更加高 实际上英文文本的熵大概只有4.7比特
https://en.wikipedia.org/wiki/Entropy_(information_theory) https://zh.wikipedia.org/wiki/熵(信息论) 熵的概念 ...
- springboot集成liquibase,h2数据库
Liquibase是一个用于跟踪.管理和应用数据库变化的开源的数据库重构工具.它将所有数据库的变化(包括结构和数据)都保存在XML文件中,便于版本控制. Liquibase具备如下特性:* 不依赖于特 ...
- 免费 SSL 安全证书
为了保证网上传输信息的安全而在自己的 Linode VPS 上部署 SSL 加密服务.商业 CA 较贵,所以使用了自己签发的 CA.网友神爱的留言提到了 StartSSL 的免费 CA,稍做了一些调查 ...
- Android学习资源网站大全
https://github.com/zhujun2730/Android-Learning-Resources 整理了一些 Android 的博客链接.学习资源网站.站在巨人的肩膀上,会看得更远.整 ...
- random模块(随机数库)
random random.random random.random()用于生成一个0到1的随机浮点数: 0 <= n < 1.0 random.uniform random.unifor ...
- LeetCode:学生的出勤记录|【551】
LeetCode:学生的出勤记录|[551] 题目描述 给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以下三个字符: 'A' : Absent,缺勤 'L' : Late,迟到 'P' : P ...
- JavaWeb:Tomcat服务器的安装与配置
Tomcat服务器的安装与配置 安装 输入网址进入Tomcat的官网 在左边导航栏选择对应下载的版本 下载安装包形式 下载并解压到我们 ...
- python之路 模块,序列化,迭代器,生成器
一.模块 1.模块简介 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能.这也是使用python标准库的方法. 类似于函数式编程和面向过 ...
- Hibernate一对多、多对一关联
一对多.多对一关联:在多方加外键 示例:Group(一方)和User(多方),一个Group可以有多个User,每个User只能属于一个Group 多对一单向关联 在User(多方)中建Group ...
- 09_Hadoop启动或停止的三种方式及启动脚本
1.Hadoop启动或停止 1)第一种方式 分别启动 HDFS 和 MapReduce,命令如下: 启动: $ start-dfs.sh $ start-mapred.sh 停止: $ stop-ma ...