1:字节流和字符流区别
字节流InputStream和OutputStream的子类用于处理二进制数据,按字节处理。
字符流Reader和Writer 用于处理文本,即字符流
字节流和字符流之间通过InputStreamReader,OutputStreamWriter来关联。实际上就是通过public String(byte bytes[], String charsetName)关联。
InputStream OutputStream Reader Writer InputStreamReader OutputStreamWriter关系
public abstract class InputStream extends Object implements Closeable
public class FilterInputStream extends InputStream
public class BufferedInputStream extends FilterInputStream
public class FilterInputStream extends InputStream
public class InputStreamReader extends Reader
InputStream stderr = proc.getErrorStream();
InputStreamReader isr = new InputStreamReader(stderr);
BufferedReader br = new BufferedReader(isr);
常用方法
InputStream
Abstract int read() 读取一个字节的数据,如果读到流的结尾,返回-1
Int read(byte[] b) 将数据读到一个字节数组返回读取字符的实际数目
Int read(byte[] b,int off,int len) 与上一个相比,多了变异量和读取最大字节数
Void close() 关闭输入流
OutputStream
Abstract void write(int n) 写入一个字节的数据
Void write(byte[] b) 写入数组b的所有字节
Void write(byte[] b,int off,int len) 写入数组b某一范围中的数据
Void close() 刷新并关闭输入流
Void flush() 刷新输入流,将缓冲区中的所有数据发送到目的地。
压缩
压缩文件算法位于cn.com.javacore.io.file. ZIPTools
创建文件的步骤
if(!folderFile.exists()){
folderFile.mkdirs();
}
if(modelFile.exists()){
if(!modelFile.delete())return null;
}
modelFile.createNewFile();
文件的常见操作
Boolean canRead() 文件是否可读
Boolean canWrite() 文件是否可写
Static Boolean createTempFile(String prefix,String suffix,File directory)
系统默认临时目录或者指定的目录下创建一个临时文件,使用给定的前缀和后缀生成临时的名称
Boolean delete() 删除文件
Void deleteOnExit() 请求当虚拟机关闭时删除文件
Boolean exists() 判断文件或目录是否存在
String getAbsolutePath() 返回一个包含绝对路径的字符串
File getCannonicalFile() 返回一个包含文件规范的路径名
String getName() 返回文件名
String getParent() 返回上级目录
File getParentFile() 返回上级目录
String getPath() 返回路径名
Boolean isDirectory() 是否代表目录
Boolean isFile() 是否代表文件
Boolean isHidden() 是否是一个隐藏文件或者目录
Long lastModified() 返回上次修改时间
Long length() 返回文件以字节为单位的长度
String[] list() 返回目录下文件的名字数组
String[] list(FilenameFilter filter) 返回目录下符合过滤器条件的文件名数组
File[] listFiles() 返回目录下文件的数组
Static File[] listRoots() 全部可用文件的根目录
Boolean createNewFile() 创建新文件
Boolean mkdir() 创建子目录
Boolean mkdirs() 创建子目录及所有上级目录
Boolean renameTo(File dest) 修改文件名称
Boolean setLastModified(long time) 设定上次修改时间
Boolean setReadOnly() 设定文件为只读
URL toURL() 转化File对象到文件URL
Boolean accept(File dir,String name) 如果文件符合过滤器条件,就返回True
JDK1.4文件操作新特性
内存映射文件 文件锁定
其他
1:递归读取目录文件算法位置J2EELib下cn.com.javacore.io.file. FindDirectories。
2:参考 F:/学习资料/学习文档/学习文档/JAVA2核心技术第1卷.基础知识7th.pdf