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. 异常:“System.Reflection.Metadata”已拥有为“System.Collections.Immutable”定义的依赖项

    参考动态执行T4模板:https://msdn.microsoft.com/zh-cn/library/bb126579.aspx 我项目是.NET Framework 4.5控制台应用程序写的. 执 ...

  2. Solr部署到Tomcat

    1.版本选择 solr-5.3.1.tgz apache-tomcat-8.0.29.tar.gz 2.解压tomcat和solr [root@iZ23exixsjaZ solr]# .tar.gz ...

  3. DIY的.net正则表达式工具

    基本包括了常用的正则表达式测试工作. 对应.net Framework 2.0版本 VB.NET编写 百度网盘下载:http://pan.baidu.com/s/1eQAHnlo 包含源码. 在下一个 ...

  4. OpenGL学习笔记3——缓冲区对象

    在GL中特别提出了缓冲区对象这一概念,是针对提高绘图效率的一个手段.由于GL的架构是基于客户——服务器模型建立的,因此默认所有的绘图数据均是存储在本地客户端,通过GL内核渲染处理以后再将数据发往GPU ...

  5. R语言 三个函数sort();rank();order()

    R语言入门,弄懂了几个简单的函数,分享一下:R语言排序有几个基本函数: sort():rank():order()sort()是对向量进行从小到大的排序rank()返回的是对向量中每个数值对应的秩or ...

  6. 升级python2.7至python3

    首先下载源tar包 可利用linux自带下载工具wget下载,如下所示: 这里我用下载的是Python-3.5.1.tar.bz2版本,下载完成后到下载目录下,解压 进入解压缩后的文件夹 cd  Py ...

  7. 二模12day1解题报告

    T1.笨笨与电影票(ticket) 有n个1和m个0,求每个数前1的个数都大于等于0的个数的排列数. 非常坑的一道题,推导过程很烦.首先求出所有排列数是 C(n+m,m),然后算不合法的个数. 假设存 ...

  8. Redis安装手册

    转载请注明出处:http://www.cnblogs.com/robinjava77/p/5465146.html (Robin) 1)下载redis:wget http://download.red ...

  9. SetTimer 与 回调函数

    在控制台应用程序中,SetTimer的函数原型为: UINT_PTR SetTimer( HWND hWnd, // handle to window UINT_PTR nIDEvent, // ti ...

  10. WebViewJavascriptBridge详细使用(转载)

    WebViewJavascriptBridge是支持到iOS6之前的版本的,用于支持native的iOS与javascript交互.如果需要支持到iOS6之前的app,使用它是很不错的.本篇讲讲Web ...