一.File类:
直接处理文件和文件系统;
File对象用来获取或处理与磁盘文件相关的信息,File还浏览子目录层次结构;
构造方法:(生成File对象)
File(String path)
File(String path,String filename)
File(File file,String filename)
方法:
(String)GetName:返回文件名;
(String)getParent:返回父目录名;
(boolean)exists:在文件存在的情况下返回true,在文件不存在的情况下返回false;
(boolean)isFile:在被文件调用时返回true,在被目录调用时返回false;
(boolean)isAbsolute:方法在文件拥有绝对路径时返回true,若是相对路径时返回false;
Boolean renameTo(File newName):由newName指定的文件名变成了所调用的File对象的新的名称;
Boolean delete():在目录为空时删除文件,如果不能删除返回false。
目录:
目录是一个包含其他文件的和路径列表的File类;
判断是不是目录用isDirectory();
list()提取目录内部其他文件和目录的列表:
1. String[ ] list():返回一个文件列表,该列表是String 数组。
2. String[ ] list(FilenameFilter FFObj) :
FFObj是一个实现FilenameFilter接口的类的对象
FilenameFilter仅定义了一个方法accept():
boolean accept(File Directory, String filename)
二.流
流的分类:
1. 字节流:用来处理字节的输入输出
2. 字符流:为字符的输入输出提供了方便;
3. 节点流:直接读写数据原的流
4. 处理流:连接在已经存在的流的基础上的流;
在最底层,所有的输入输出都是字节形式的。
标准输入输出流:
System.in;
System.out;
System.err;
inputstream:此抽象类是表示字节输入流的所有类的超类。
方法:
1.int available():返回此输入流方法的下一个调用方可以不受阻塞的从此输入流读取的字节数(还有多少字节没有读)
2.void close():关闭此输入流并释放与该流关联的所有系统资源。
3.void mark(int readlimite):在此输入流中标记当前的位置。
4.boolean markSupported():测试此输入流是否支持 mark 和 reset 方法。
5.abstract int read ():从输入流读取下一个数据字节。当读到流结尾时,返回-1;
6.int read(byte[] b): 从输入流中读取一定数量的字节并将其存储在缓冲区数组 b 中。
7.int read(bytr[] b,int off,int len): 将输入流中最多 len 个数据字节读入字节数组。
8.void reset():将此流重新定位到对此输入流最后调用 mark 方法时的位置。
9.long skip():跳过和放弃此输入流中的 n 个数据字节。
outputstream:此抽象类是表示字节输入流的所有类的超类。
方法:
1. void close():关闭此输出流并释放与此流有关的所有系统资源。
2. void flush():刷新此输出流并强制写出所有缓冲的输出字节。
3. void write(byte[] b): 将 b.length 个字节从指定的字节数组写入此输出流。
4. .int write(bytr[] b,int off,int len): 将指定字节数组中从偏移量 off 开始的 len 个字节写入此输出流。
5. void write(int b): 将指定的字节写入此输出流。
FileinputStream和FileOutputStream:
FileInputStream
从文件系统中的某个文件中获取输入字节。哪些文件可用取决于主机环境。 FileInputStream
用于读取诸如图像数据之类的原始字节流。
文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。文件是否可用或能否可以被创建取决于基础平台。特别是某些平台一次只允许一个 FileOutputStream(或其他文件写入对象)打开文件进行写入。在这种情况下,如果所涉及的文件已经打开,则此类中的构造方法将失败。
FileOutputStream 用于写入诸如图像数据之类的原始字节的流。
DataInputStream:数据输入流允许应用程序与机器无关方式从基础输入流中读取基本Java数据类型。应用程序可以使用数据输出流写入稍后由 输入流读取的数据;
DataOutputStream:数据输出流允许应用程序将基本Java数据类型写入输出流中。应用程序可以使用数据输入流将数据读入。
ByteArrayInputStream:字节数组输入流
ByteArrayOutputStream:字节数组输出流