对象序列化: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当对象序列化得时候该关键词修饰的属性会被保存下来