JAVA基础笔记(十三)IO

来源:互联网 发布:linux 代码格式化工具 编辑:程序博客网 时间:2024/04/29 17:26

对象序列化:Serializable
当对象序列化得时候该关键词修饰的属性会被保存下来:transient
File文件操作类:
五个类一个接口:

File类的构造函数:
·构造:public File(String pathname)设置完整路径;
·构造:public File(File parent,String child)设置父路径与子路径;

如果要进行文件的基础操作,那么应该用一下的处理方法:
创建新文件:public boolean creatNewFile()throws IOException;
判断路径是否存在:public boolean exists();
删除文件:public boolean delete();
取得文件路径分隔符:public static final String separator
取得父路径:public File getParentFile();
创建目录:public boolean mkdirs();

取得文件信息:
取得文件大小:public long length();
取得是否是路径:public boolean isDirectory();
取得是否是文件:public boolean isFile();
重命名:public boolean renameTo(File dest);
取得最后一次修改日期时间:public long lastModified();
列出指定目录中的所有子路径:public File[] listFiles();

列出目录中的文件:
public File[] listFiles();

字节流与字符流:

字节流:OutputStream,InputStram;字符流:    Writer,Reader;

OutputStream抽象类里面提供了三个write()的方法:
输出整个字节数组的数据:public void write(byte[] b)throw IOException
输出部分字节数组数据:public void write(byte[] b,int off,int len)throw IOException
输出单个字节数组数据:public abstract void write(int b)throw IOException

OutputStream类如果要实例化就需要通过FileOutputStream为其实例化

转换流:
将字节输入流变为字符输入流:InputStreamReader
将字节输出流变为字符输出流: OutputStreamWriter

取得本机的系统属性信息:
System.getProperties().list(System.out);

内存流:
程序→OutputStream→文件;
程序← InputStream←文件;

字节内存流:ByteArrayOutputStream,ByteArrayInputStream;
字符内存流:CharArrayWritter,CharArrayReader;

内存流在操作的时候没有产生IO操作;

打印流:
PrintStream,字节打印流
PrintWriter,字符打印流

System类中的三个常量对象:
标准输出:public static final PrintStream out;
标准输入:public static final InputStream in;
错误输出:public static final PrintStream err。

缓冲输入流:
BufferedReader

Scanner扫描流:
构造方法:public Scanner(InputStream source)
设置读取分隔符:public Scanner useDelimiter(String pattern);
判断是否有数据:public boolean hasNextXxx();
取出数据:public 数据类型 nextXxx();

对象序列化:
对象序列化就是将内存之中保存的对象转换为二进制数据流的形式,这样意味着可以直接进行保存;
如果想进行对象序列化就需要实现java.io.Serializable,该接口没有定义任何方法,所以是一个表示接口,表示一种能力;
transient当对象序列化得时候该关键词修饰的属性会被保存下来

0 0