File类
作用:访问和操作文件的类
创建方式
File file = new File( String pathname);
常用方法
boolean exists( )//判断文件是否存在
boolean isFile( )//判断是否是文件
boolean isDirectory( )//判断是否为文件目录
String getPath( )//获取相对路径
String getAbsolutePath( )//获取绝对路径
String getName( )//获取文件或者目录的名称
boolean delete( )//删除文件或者目录
boolean createNewFile( )//创建新的文件,默认在项目的根目录
long length()//返回文件的长度,字节问单位,如果文件不存在返回的是0L
JAVA流的分类
输入流:FileInputStream、DataInputStream、inputStreamReader、BufferedReader
输出流:FileOutputStream、DataOutputStream、ObjectOutputStream、OutputStreamWriter、ufferedWriter
字节流:FileInputStream、FileOutputStream、DataInputStream、DataOutputStream、ObjectOutputStream
字符流:inputStreamReader、OutputStreamWriter、BufferedReader、BufferedWriter
inputStream类
常用方法
int read( )//一个字节一个字节的读取文件中的数据,返回的是读取字节处理成int的数值(需要用char强转),如果读完就是-1;
int read(byte[] b)//从输入流中读取b.length个字节到b中,返回读入缓存区的的总字节数,若读完返回-1
int read(byte[] b,int off,int len)//从输入流中读取最多len个字节到b中,从off位置开始存放,返回读入缓存区的的总字节数,若读完返回-1;
void close( )//关闭流
int available()//可以从输入流中读取的字节数目
FileInputStream类
构造方法
FileInputStream(File file)
FileInputStream(String pathname)
OutputStream类
常用方法
void write(int c)//将字节一个一个写入文件的输出流中
void write(byte[] buf)//一次将buf.length个字节写入文件的输出流中
void write(byte[] b,int off,int len)//一次将buf.length个字节写入文件的输出流中,参数off代表着从数组下标off开始,参数len表示最终写入的字节个数
void close()//
FileOutputStream类
构造方法
FileOutputStream (File file)
FileOutputStream(String pathname)
FileOutputStream(String pathname,boolean append)//是否追加true追加,false覆盖
//创建FileOutputStream实例时,如果相应的文件并不存在,则会自动创建一个空的文件
DataInputStream类
构造方法
FileInputStream fis = new FileInputStream("C:\\HelloWorld.class");
DataInputStream dis = new DataInputStream(fis);
DataOutputStream类
构造方法
FileOutputStream outFile = new FileOutputStream("C:\\temp.class");
DataOutputStream out = new DataOutputStream(outFile);
DataInputStream类和DataOutputStream类是FileInputStream类和FileOutputStream类的子类,前者主要拷贝音频之类的文件,后者拷贝文本文件。
序列化和反序列化
序列化:把内存的对象存入到磁盘中,用到的流是ObjectOutputStream
反序列化:把磁盘中的对象存入到内存中,用到的流是ObjectInputStream
对象的序列化,它的实体类必须实现serializable,如果不序列化,再传回来时就不是原来那个对象了;
构造方法
ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream);
ObjectInputStream ois = new ObjectInputStream(new FileInputStream);
方法
oos.writeObject();
ois.readObject();
本文介绍了Java中的File类及其操作方法,详细讲解了JAVA流的分类,包括字节流如FileInputStream、FileOutputStream及其相关类DataInputStream、DataOutputStream,以及字符流如inputStreamReader、OutputStreamWriter等。同时,文章还探讨了序列化和反序列化的过程,强调了对象序列化时实体类需实现Serializable接口的重要性。
1655

被折叠的 条评论
为什么被折叠?



