今日笔记

.File类的常用方法
boolean exists()    判断文件或目录是否存在
boolean isFile()    判断是否是文件
boolean isDirectory() 判断是否是目录
String getAbsolutePath()      返回此对象表示的文件的绝对路径
String getPatn()               返回此对象表示的文件的相对路径
String getName()              返回此对象表示的文件或目录的名称
boolean delete()               删除此对象指定的文件或目录
blooean  createNewFile()       创建名称文件的空文件文件夹
long length()                   返回文件的长度,单位为字节,如果文件不存在,则返回0L
通过流来读文件
流是一组有序的数据序列
以先进先出的方式发送信息通道
java流的分类
按流向区分
输出流:OutputStream和Writer作为基类
输入流:InputStream和Reader作为基类
***输入输出是相对于计算机内存来说的
按照处理数据单元划分
字节流 
(1.字节输入流InputStream基类
(2.字节输出流OutputStream基类
字符流
(1.字符输入流Reader基类
(2.字符输出流Writer基类
***字节流是八位通用字节流,字符流是16位Unicde字符流
InputStream类的常用方法
(1.int   read()
(2.int   read(byte[] b)
(3.int  read(byte[] b,int  off,int len)
(4.void close()
(5.int available():可以从输入流中读取的字节数目

***子类FileInputStream常用的构造方法
FileInputSrtream(File file)
FileInputStream(String name)
使用FileInputStream读文本文件
1).引用相关的类
import java.io.IOException;
import java.io.FileInPutStream;
2).构造文件输入流FileInputStream对象
FileInputStream fis=new FileInputStream("c:\\test.txt");
3).读取文本文件的数据
fis.available();
fis.read();
4).关闭文件流
fis.close();
FileStreaam类常用方法
1).void write(int c)
2).void write(byte[] buf)
3).void write(byte[] b,int off,int len)
4).void close()
5).void flush():强制把缓冲区的数据写到输入流中
子类FileOutputStream常用的构造方法
1).FileOutPutStream(File file)
2).FileOutputStream(String name)
3).FileOutputStream(String name,boolean,blooean append)
***1、前两种构造方法在向文件写数据时将覆盖文件原油表的内容
   2、创建FileOutStream实例时,如果相应的文件并不存在,则会自动创建一个空文件
使用FileOutputStream 写文本文件
1)、引用相关的类
import java.io.IOException;
improt java.io.FileOutPutStream;
2)、构造文件输出流  FileOutputStream对象
FileOutputStream fos=new fileOutputStream("text.txt");

3)、把数据写入文本文件
String str="好好学习java";
byte[] word=str.getBytes();
fos.write(word,o.word.length);
4)、关闭文件流对象
fos.close
使用字符流读写文件
1.)如何从文件中读取模板:使用Reader接口实现
2.)如何替换模板中的内容为当前宠物信息:使用String的replace()方法实现
3.)如何将文本保存到文件:使用Writer接口实现
***使用字符流读写文本更合适
Reader类常用方法
1.)int read( )
2.)int read(char[] c)
3.)read(char[] c,int off,int len)
4.)void close( )
子类InputStreamReader常用的构造方法
1.)InputStreamReader(InputStream in)
2.)InputStreamReader(InputStream in,String charsetName
FileReader类
FileReader类是InputStreamReader的子类
FileReader(File file)
FileReader(String name)
该类只能按照本地平台的字符编码来读取数据,用户不能指定其他的字符编码类型
System.out.println(System.getProperty("file.encoding"));  获得本地平台的字符编码类型
使用FileReader读取文件
与字节流FileInputStream类实现文本文件读取步骤类似
1.)引入相关的类
import java.io.Reader;
import java.io.FileReader;
Import java.io.IOExceprion;
2).创建FileReader对象
Reader fr= new FileReader("D:\\myDoc\\简介.txt");
3).读取文本文件的数据
fr.read();
4).关闭相关的流对象
 fr.close();
BufferedReader类
如何提高字符流读取文本文件的效率?
使用FileReader类与BufferedReader类
1.)BufferReader类是Reader类的子类
2.)bufferedReader类带有缓冲区
3.)按行读取内容的readLin()方法
BufferedReader常用的构造方法
BufferedReader(Reader in)
子类BufferedReader特有的方法
readLine()
使用 BufferedReader读文本文件
1.)引用相关的类
import java.io.FileReader;
import java.io.bufferedReader;
importjava.io.IOExeception;
2.)构造BufferedReader对象和FileReader对象
Reader fr=new FileReader("c:\\mytest.txt");
BufferedReader br=new bufferedRerader(fr);
3.)调用readLine()方法读取数据
br.readerLine();
4.)关闭文件流对象
br.close();
fr.close();
Writer类
Writer类常用方法
1.)write(String str)
2.)write(String str,int off,int len)
3.)void close()
4.)void flush()
子类OutputStreamWriter常用的构造方法
1.)OutputStreamWriter(OutputStream out)
2.)OutputStreamWriter(OutputStream out,String charsetName)
FileWriter类
FileWriter类是OutputStreamWriter的子类
1.)FileWriter (File file)
2.)FileWriter (String name)
该类只能按照本地平台的字符编码来写数据,用户不能指定其他的字符编码类型
使用FileWriter写文件
与字节流FileOutputStream类实现向文本文件写入数据步骤类似
1.)引入相关的类
import java.io.Reader;
import java.io.FileWriter;
Import java.io.IOException;
2.)创建FileReader对象
Writer fw= new FileWriter("D:\\myDoc\\简介.txt");
3.)写文本文件
fw.write();
4.)关闭相关的流对象
 fw.close();
BufferedWriter类
如何提高字符流写文本文件的效率?
使用FileWriter类与BufferedWriter类
1.)BufferedWriter类是Writer类的子类
2.)BufferedWriter类带有缓冲区
BufferedWriter常用的构造方法
 BufferedWriter(Writer out)
使用 BufferedWriter 写文件
1).引用相关的类
import java.io.FileWriter;
import java.io.bufferwriter;
import java.io.IOException;
2).构造BufferedWiter对象和FileWriter对象
FileWriter fw=new FileWriteer("c:\\myTest.txt");
BufferedWriter bw=new Bufferedwrter(fw);
3).调用writer()方法写数据
bw.witer("hello");
流对象的清空和关闭flush()和close()
bw.flush();
fw.close();
读写二进制文件
DataInputStream类
!.)FileInputStream的子类
2.)与FileInputStream类结合使用读取二进制文件
DataOutputStream类
1.)FileOutputStream的子类
2.)与FileOutputStream类结合使用写二进制文件
使用 DataInputStream 读二进制文件
实现步骤
1.)引用相关的类
import java.io.FileInputStream;
import java.io.DataInputStream;
2.)构造数据输入流对象
FileInputStream fis=new FileInputStream("c:\\HelloWorld.class");
DataInputStream dis=new DataInputStream(fis);
3.)调用read()方法读取二进制数据
dis.read();
4.)关闭数据输入流
dis.,close
***与字节流FileInputStream实现文本文件的读取步骤极其相似
使用 DataOutputStream写二进制文件
1).引入相关的类
import java.io.FileOutPutStream;
import java.io.DataOutputStream;
2.)构造数据输入流对象
FileOutputStream  outFile=new FileOutputStream("c:\\temp.class");
DataOutputStream out=new DataOutputStream(outFile);
3.)调用write()方法写二进制文件的数据
out.write();
4.)关闭数据输出流
out.close();
序列化和反序列化
1.)序列化是将对象的状态写入到特定的流中的过程
2.)反序列化则是从特定的流中获取数据重新构建对象的过程
实现序列化的步骤
1.)实现Serializable接口
2.)创建对象输出流
3.)调用writeObject()方法将对象写入文件
4.)关闭对象输出流
***使用集合保存对象,可以将集合中的所有对象序列化
反序列化的步骤
1.)实现Serializable接口
2.)创建对象输入流
3.)调用readObject()方法读取对象
4.)关闭对象输入流
***如果向文件中使用序列化机制写入多个对象,那么反序列化恢复对象时,必须按照写入的顺序读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值