文件与流(一),thinking in java
来源:互联网 发布:ug8.0编程中的建模创 编辑:程序博客网 时间:2024/06/05 12:00
java.io.File:代表文件或目录,包含时间、文件路径、等信息
构造函数:
主要方法:
可读写,canRead(),canWrite(),canExecute()
目录信息,
目录创建,
子目录,list()及重载的list(FileNameFilter filter) Stragety design patern
FileNameFilter接口代表list方法的“stragety”,实现接口必须重写accept方法:尝试写一个简单的例子,列出目录下所有的txt文档:
package review;import java.io.*;/** * * @author Administrator */public class TxtFinder { /* * Constructor */ public TxtFinder(File dir){ this.dir=dir; } public TxtFinder(String dir){ this.dir=new File(dir); } public String[] find(){ String[] files; files=dir.list(new FilenameFilter(){ @Override public boolean accept(File dir, String name) { name=name.toLowerCase(); return name.endsWith(".txt"); } }); return files; } private File dir; /* * for test */ public static void main(String[] args){ String[] files=new TxtFinder(".").find(); for(String fname:files){ System.out.println(fname); } }}
文件删除,
重命名,
文件创建,
修改文件属性,
输入输出流
文件输入与输出流总体可分两大门派:面向字节的InputStream,OutputStream家族;面向unicode字符的Reader,Writer家族。
InputStream:
InputStream的继承者:一种是代表输入来源(source);另一种作为 decorator
实现类:代表输入产生的来源,如 字节数组、文件 pipe sequence 网络连接等...
AudioInputStream 多媒体
ByteArrayInputStream 字节数组
FileInpuStream 文件
PipedInputStream "Pipe,which works like a physical pipe,put things in at an end and they come out the other"
SequenceInputStream " A sequence of other sreams"
StringBufferInputStream
ObjectInputStream 用于序列化
抽象类:“decorator” (Decorator design pattern)
FilterInputStream
OutputStream
ByteArrayOutputStream
FileOutputStream
PipedOutputStream
ObjectOutputStream
抽象类:
FilterOutputStream
图1是一张来自core Java8的InputStream and OutStream家谱图
Reader
Writer
图2是来自core Java的Reader and Writer家谱图
- 文件与流(一),thinking in java
- 【Thinking in Java】初始化与清理(一)
- Thinking In Java (一)
- 《Thinking in Java》读书笔记(一)
- Thinking in java 学习(一)
- Thinking in java 笔记(一)
- Thinking In Java 学习笔记(一)
- Thinking in Java 笔记(一)
- Thinking in Java阅读笔记(一)
- Thinking in Java 笔记(一)
- thinking in java 学习笔记(一)
- Thinking in Java -- 并发(一)
- Thinking in java学习(一)
- Thinking in Java - - 对象导论(一)
- Thinking in java 学习笔记(一)
- 再读Thinking in Java(一)
- Thinking in java读书笔记-线程(一)
- 重温Thinking in Java(一)
- List、ArrayList、Vector及map、HashTable、HashMap分别的区别
- LoadRunner录制脚本时请关闭360安全卫士
- C++ 史上最华而不实的类
- SQL中的escape的用法
- 信息图表:iPod十年历程(中文)
- 文件与流(一),thinking in java
- PASCAL 高级编程- 前言
- Codeforces Beta Round #89 (Div. 2)E题,给一联通的无向图,求确定每边的方向,使得任意两点可达
- riyu22
- Windows XP的华彩10年
- repeater嵌套
- 继承,封装,多态
- 第一章 TURBO PASCAL高级编程技术
- 闲谈数据库读写分离