记录我的成长吧~

第十周课程总结

JavaIO基础图关系

File类

· 在整个io包中,唯一表示与文件本身有关的类就是File类。
· 使用File类可以进行创建或删除文件等常用操作。
· 要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下所示:
  public File(String pathname)
  →实例化File类的时候,必须设置好路径。

File类中的主要方法和常量

方法或常量 类型 描述
public static final String pathSeparator 常量 表示路径的分隔符(windows是:“;” )
public static final String separator 常量 表示路径的分隔符( windows是:“\” )
public File(String pathname) 构造 创建File类对象, 传入完整路径
public boolean createNewFile() throws IOException 普通 创建新文件
public boolean delete() 普通 删除文件
public boolean exists() 普通 判断文件是否存在
public boolean isDirectory() 普通 判断给定的路径是否是一个目录
public long lenglh() 普通 返回文件的大小
public String[] list() 普通 列出指定目录的全部内容,只是列出了名称
public Filc[] listFilcs() 普通 列出指定目录的全部内容,会列出路径
public boolean mkdir() 普通 创建一个目录
public boolean renameTo(File dest) 普通 为已有的文件重新命名

· 在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据的时候要使用输入流读取数据,而当程序需要将一些数据保存起来的时候,就要使用输出流完成。

字节流与字符流

· 在java.io包中操作文件内容的主要有两大类:
  · 字节流
  · 字符流
· 两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使用的是InputStream, 在字符流中输出主要是使用Writer类完成, 输入主要是使用Reader类完成。

字节流

· 字节流主要是操作byte类型数据,以byte数组为准,主要操作类就是OutputStream、InputStream。
  · 字节输出流: OutputStream
  · 字节输入流: InputStream

追加新内容

· 之前的所有操作中,如果重新执行程序,  则肯定会覆盖文件中的已有内容,  那么此时可以通过
  FielOutputStream向文件中追加内容,FileOutputStream的另外一个构造方法:
  · public FileOutputStream(File file,boolean append) throwsFileNotFoundException
· 在构造方法中,如果将append的值设置为true,则表示在文件的末尾追加内容。

字节输入流: InputStream

· 既然程序可以向文件中写入内容,则就可以通过InputStream从文件中把内容读取进来,首先来看InputStream类的定义:
  · public abstract class InputStream extends Objectimplements Closeable
· 与OutputStream类一 样, InputStream本 身也是-一个抽象类,必须依靠其子类,  如果现在是从文件中读取,子类肯定是FileInputStream。观察FileInputStream类的构造方法:
  · public FilelnputStream(File file) throws FileNotFoundException

字符流

· 在程序中一个字符等于2个字节,那么JAVA提供了Reader、Writer两 个专门操作字符流的类。
  · 字符输出流: Writer
  · 字符输入流: Reader

使用FileWriter追加文件的内容

· 在使用字符流操作的时候,也可以实现文件的追加功能,  直接使用FileWriter类中的以下构造即可实现追加:
  · public FileWriter(File file,boolean append) throwsIOException
  · 将append的值设置成true,就表示追加。

字符输入流: Reader

· Reader是使用字符的方式从文件之中取出数据,Reader类的定义如下:
  · public abstract class Reader extends Object implementsReadable, Closeable
· Reader本身也是抽象类,如果现在要从文件中读取内容,则可以直接使用FileReader子类。. FileReader的构造方法定义如下:
  · public FileReader( File file) throwsFileNotFoundException

字节流与字符流的区别

· 字节流在操作的时候本身是不会用到缓冲区(内存)的,是与文件本身直接操作的,而字符流在操作的时候是使用到缓冲区的。

OutputStreamWriter和InputStreamReader

· 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类。
  · OutputStreamWriter:是Writer的子类,将输出的字符流变为字节流,即:将一个字符流的输出对象变为字节流输出对象。
  · InputStreamReader: 是Reader的子类,将输入的字节流变为字符流,即:将一个字节流的输入对象变为字符流的输入对象。

管道流

· 管道流的主要作用是可以进行两个线程间的通讯,分为管道输出流(PipedOutputStream) 、管道输入流(PipedInputStream),如果要想进行管道输出,则必须把输出流连在输入流之上,在PipedOutputStream类上有如下的一个方法用于连接管道:
  · public void connect(PipedInputStream snk) throws IOException

打印流

· 在整个IO包中,打印流是输出信息最方便的类,主要包含:
  · 字节打印流(PrintStream)
  · 字符打印流(PrintWriter)
· 打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等。

System类的常量

· System表示系统类,实际上在java中System类也对IO给予了一定的支持。
System类的常量 描述
public static final PrintStream out 对应系统标准输出,一 般是显示器
public static final PrintStream.err 错误信息输出
public static final InputStream in 对应着标准输入,一般是键盘
posted @ 2019-11-03 11:37  ToT!  阅读(169)  评论(2编辑  收藏  举报

愛生活 愛自己

你是最棒的