I/O框架介绍

I/O是计算机输入/输出的接口。Java的核心库java.io提供了全方面的I/O接口,包括:文件系统的操作,文件读写,标准设备的输出等。

File类及使用

①   一个File类的对象,表示了磁盘上的文件或目录。

②   File类提供了与平台无关的方法来对磁盘上的文件或目录进行操作。

③   File类直接处理文件和文件系统。比如删除文件,获取文件长度大小信息。

④   File类没有提供方法从文件中读取或向文件中存储信息。

⑤   构造方法:

a)         File(String directoryPath)

b)         File(String directoryPath,String filename)

c)         File(File dirObj,String filename)

⑥   File定义了获取File对象标准属性的方法。

⑦   部分File类常用方法:

a)         public String getName()

b)         public String getParent()

c)         public File getParentFile()

d)         public String getAbsolutePath()

e)         public boolean exists()

f)          public File[] listFile()

g)         public boolean isDirectory()

h)         public boolean isFile()

i)           public long length()

j)           boolean delete()

k)         boolean mkdir()

先在d盘下创建一个名为doc的文件夹,文件夹内创建一个txt文本文件

         File file = new File("d:\\doc");// windows下使用\\或/,linux下使用/
System.out.println(file.getAbsolutePath());// 返回此抽象路径名的绝对路径名字符串
System.out.println(file.getParent());// 获取上一级目录的字符串
System.out.println(file.isDirectory());// 判断路径名表示的文件是否是一个目录
System.out.println(file.isFile());// 判断路径名表示的文件是否是一个标准文件
System.out.println(file.exists());// 判断抽象路径名表示的文件或目录是否存在
System.out.println(file.length());// 返回由此抽象路径名表示的文件的长度
System.out.println(file.delete());// 删除此抽象路径名表示的文件或目录--若目录下存在文件则不可删除

输出结果

d:\doc
d:\
true
false
true
0
false

创建目录及目录下创建文件

         File myFile = new File("d:\\zhangsan");
System.out.println(myFile.mkdir());// 创建不存在的目录 File myFile2 = new File("d:\\zhangsan\\ceshi.txt");
try {
System.out.println(myFile2.createNewFile());// 创建指定目录下不存在的文件
} catch (IOException e) {
e.printStackTrace();
}

输出结果

true
true

在zhangsan目录下的ceshi.txt中随意输入一些字符,再添加一张图片

获取目录下所有的文件

         String[] files = myFile.list();// 获取目录下所有的文件
for (String f : files) {
System.out.println(f);
}

输出结果

ceshi.txt
tu.png

返回所有以txt为后缀名的文件

         String[] files2 = myFile.list(new FilenameFilter() {

             @Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");//返回所有以txt为后缀名的文件
}
});
for (String f : files2) {
System.out.println(f);
}

输出结果

ceshi.txt

获取目录中所有的文件,名称及大小

         File[] files3=myFile.listFiles();
for(File f:files3){
System.out.println(f.getName()+"--"+f.length());
}

输出结果

ceshi.txt--140
tu.png--73425

返回目录下所有以txt为后缀名的文件,名称及大小

方法一

         File[] files4=myFile.listFiles(new FilenameFilter() {

             @Override
public boolean accept(File dir, String name) {
return name.endsWith(".txt");//返回目录下所有以txt为后缀名的文件
}
});
for(File f:files4){
System.out.println(f.getName()+"--"+f.length());
}

输出结果

ceshi.txt--140

方法二

         File[] files5=myFile.listFiles(new FileFilter() {

             @Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".txt");
}
});
for(File f:files5){
System.out.println(f.getName()+"--"+f.length());
}

输出结果

ceshi.txt--140

I/O流——File类及使用的更多相关文章

  1. Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte

    File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...

  2. 021.1 IO流——File类

    ########################################IO流:    IO:用于处理设备上的数据的技术.设备:内存,硬盘,光盘    流:系统资源,Windows系统本身就可 ...

  3. IO流——File类(文件流类)

    java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流. File类的构造方法: 1 ...

  4. 09、IO流—File类与IO流

    目录 一.File类 基本认识 实用方法 获取功能 重命名功能(包含剪切) 判断功能 创建.删除文件 实际小案例 二.IO流 1.认识IO流 2.IO流基类介绍 字节流基类介绍 字符流基类介绍 三.节 ...

  5. JAVA:IO流——File类

    1.掌握File 类的作用 2.可以使用File 类中的方法对文件进行操作 所有的 io 操作都保存在 java.io 包中. 构造方法:public File (String pathname) 直 ...

  6. JavaIO流——File类

    1.掌握File 类的作用 2.可以使用File 类中的方法对文件进行操作 所有的 io 操作都保存在 java.io 包中. 构造方法:public File (String pathname) 直 ...

  7. Java IO流-File类

    2017-10-24 23:50:22 File类 File类:文件和目录路径名的抽象表示形式.该文件或者目录不一定真实存在. * 构造方法 File类有四种构造方法,主要采用的构造方法师第二种,也就 ...

  8. Java第三阶段学习(一、IO流------File类)

    一.IO概述: 把内存中的数据存入到硬盘(持久化设备)中叫做:输出(写)Output操作.JAVA软件往电脑硬盘上走叫输出. 把硬盘中的数据读取到到内存里叫做:输入(读)Input操作.电脑硬盘上往J ...

  9. Java—IO流 File类的常用API

    File类 1.只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. package cn.test; import java.io.File; import java.io.IOE ...

随机推荐

  1. [转]细说SQL Server中的加密

    简介 加密是指通过使用密钥或密码对数据进行模糊处理的过程.在SQL Server中,加密并不能替代其他的安全设置,比如防止未被授权的人访问数据库或是数据库实例所在的Windows系统,甚至是数据库所在 ...

  2. 查看APK方法数的工具dex-method-counts

    做APK方法总能遇到方法数超限的问题(主要是方法数, 字段数, String数.等各种数都可能超过65k导致不能安装) 除了大公司都自己做了一些检查方法. 网上还有一些开源的查询工具. 给大家推荐一个 ...

  3. VS2010中的查找和替换中正则的使用

    只是记下来怕以后忘记了: 查找:/news/(\d+).html 要匹配(\d+),记得用括号 替换为:/NewsDetails.aspx?id=$1 $1表示匹配的结果

  4. Ice分布式程序设计—IceBox(Hello World Application)

    忙了三天,总算浏览完此书.藉此记下 Ice 的 IceBox 服务框架. 在此用 IceBox 框架写 Hello World 程序,即以载体来体现其特性. 第一步:编写 Slice 文件,映射生成 ...

  5. 单片网络接口芯片W5100的原理与应用

    随着计算机网络技术的发展,作为全球最大计算机网络——I n t e r ac t已成为当今信息社会重要的基础信息设施.在工业测控.智能仪器.智能家庭等领域,大量应用嵌入式设备接人 I n t e r ...

  6. Django1.7+JQuery+Ajax集成小例子

    Ajax的出现让Web展现了更新的活力,基本所有的语言,都动态支持Ajax与起服务端进行通信,并在页面实现无刷新动态交互. 下面是散仙使用Django+Jquery+Ajax的方式来模拟实现了一个验证 ...

  7. CString std::string相互转换

    CString->std::string 例子: CString strMfc=“test“; std::string strStl; strStl=strMfc.GetBuffer(0); s ...

  8. reverse engineering in ax

    install Visio2010 Premium(UML model template). not work in Visio 2013 and other version.

  9. IP地址

    if (!/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])){3}$/.test($.trim($('#add ...

  10. JavaScript笔记:函数

    函数是定义一次但却可以调用或执行任意多次的代码块. 一.函数定义 javascript中的函数使用function关键字来定义,常用的函数定义分为三种形式: 声明式函数定义 function sum( ...