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的更多相关文章
随机推荐
- 为什么要提倡"Design Pattern"呢? 开闭原则 系统设计时,注意对扩展开放,对修改闭合。
[亲身经历] 无规矩不成方圆 设计模式 - 搜狗百科 https://baike.sogou.com/v123729.htm?fromTitle=设计模式 为什么要提倡"Design Pat ...
- 相似度模型 similarity model
Lucene4.0附加了相似度模型,允许在文档中使用不同的公式.
- 001 unique string
以后坚持每一个星期都写记到算法题,不论简单还是难,纯熟娱乐! 描写叙述: 实现一个算法来推断一个字符串中的字符是否唯一(即没有反复).不能使用额外的数据结构. (即仅仅使用主要的数据结构) 代码: # ...
- spring 编译时抱错纪录class path resource [spring/] cannot be resolved to URL because it does not exist
class path resource [spring/] cannot be resolved to URL because it does not exist; 在 pom.xml 里添加如下代码 ...
- trait特性
1.trait特性可以和特化或者偏特化结合. 2.trait可以和类型转换结合.
- docker快速构建oracle数据库
1.查看可用镜像docker search oracle2.拉去想要的镜像docker pull wnameless/oracle-xe-11g3.基于wnameless/oracle-xe-11g创 ...
- 1.1 使用电脑测试MC20模块的基础使用和测试
需要准备的硬件 MC20开发板 1个 https://item.taobao.com/item.htm?id=562661881042 GSM/GPRS天线 1根 https://item.taoba ...
- 面向对象之继承(Day24)
一.继承 1.什么是继承 继承是一种创建新类的方式,在Python中,新建的类可以继承一个或多个父类,父类又可称为基类或超类,新建的类称为派生类或子类 2.继承与抽象(先抽象再继承) 抽象基抽取类似或 ...
- Python之正则表达式与常用模块(Day19)
一.正则表达式:匹配字符串的一种规则 正则表达式的在线测试工具: http://tool.chinaz.com/regex/ 字符组: 正则 待匹配字符 匹配结果 说明 [0123456789] 8 ...
- Hibernate学习---检索优化
Hibernate框架对检索进行了优化,前面我们将CURD的时候提到了load和get的区别,当时仅仅说了load为延迟加载,get为立即加载,当检索的记录为空的时候load报错(不是在执行load方 ...