黑马程序员——java基础之IO流

来源:互联网 发布:小米4能用移动4g网络吗 编辑:程序博客网 时间:2024/05/28 08:29

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

IO流

IO(Input Output)流用来处理设备之间的数据传输。
java对数据的操作是通过流的方式。
java用于操作流的对象都在IO包中。
流按操作数据分为两种:字节流与字符流。
流按流向分为:输入流,输出流。

IO分为字符流和字节流。
字节流两个基类:InputStream  OutputStream
字符流两个基类:Reader   Writer

注意:由这四个类派生出来的子类名称都是以其父类名作为子类名后缀。如:InputStream的子类FileInputStream.
_________________________________________________________________________________
System:类中的方法和属性都是静态的。
out:标准输出,默认是控制台。
in:标准输入,默认是键盘。

描述系统一些信息,获取系统属性信息:Properties getProperties();

Runtime:将java运行程序和运行环境相连接的类
它没有构造函数,它不可以new对象,
static Runtime getRuntime();它使用了单利设计模式

Date:日期类将模式封装到 SimpleDateFormat对象中。

Math数学类。数学方法。
__________________________________________________________________________________
字符流有:FileWriter和FileReader
它的缓冲区是:BufferedReader 和BufferedWriter
字节流有:InputStream 和OutputStream
它的缓冲区是:BufferedInputStream和BufferedOutputStream

字符串缓冲区
BufferedReader和BufferedWriter缓冲区的出现是为了提高流的操作效率而出现的。
所以在创建缓冲区之间,必须要先有流对象。

BufferedWriter该缓冲区中提供了一个跨平台的换行符:newLine();

字符读取流缓冲区BufferedReader该缓冲区提供了一个一次读一行的方法:readLine();
方便于对文本数据的获取。
当返回null时,表示读到文件末尾。
readLine()方法返回的时候只返回回车符之前的数据内容,并不返回 回车符。
readLine()方法的原理:无论是读一行,或读取多个字符,其实最终都是在硬盘上一个一个读取。
所以最终使用的还是read方法一次读一个的方法

File类
①创建
    boolean createNewFile():在指定位置创建文件,如果该文件已存在,则不创建,返回false 和输出流不一样,输出流对象一建立,而且文件存在的话会被覆盖。
    boolean mkdir():创建文件夹
    boolean mkdirs():创建多级文件夹
删除
    boolean delete();删除失败,返回false
    void deleteOnExit():在程序退出时,删除指定文件
判断
    boolean exists():文件是否存在。
    boolean isFile():判断是否是文件夹
    boolean isDirectory():判断是否是文件
    boolean isHidden():文件是否是一个隐藏文件
    boolean isAbsolute():判断路径是否是绝对。
获取信息
    String getName():获取名称
    String getPath():获取封装的路径
    String getParent():如果封装没有加上路径,就会null,它返回是绝对路径中父目录
    String getAbsolutePath():获取绝对路径
    long lastMidified():路径最后一次修改时间
    long length():文件的长度

public class File {public void fileread() throws IOException{FileReader fir = new FileReader("fi.txt");char[] ch = new char[1024];int num = 0;while((num=fir.read(ch))!=-1){System.out.println(new String(ch,0,num));}fir.close();}public static void main(String[] args) throws IOException {//FileWriter fi = new FileWriter("fi.txt");//fi.write("1123");//将数据写入流中//fi.flush();//将数据刷到目的地//fi.close();//关闭流资源,流不能再使用FileWriter fi = null;try{fi = new FileWriter("fi.txt");fi.write("1123");}catch(IOException e){System.out.println(e.toString());}finally{try{if(fi != null);fi.close();}catch(IOException e){System.out.println(e.toString());}}File f = new File();f.fileread();}}

打印流:
该流提供了打印方法,可以将各种数据类型的数据都原样打印

字节打印流PrintStream
构造函数可以接收的参数类型。 
1.file对象。File 
2.字符串路径。String 
3.字节输出流。OutputStream

字符打印流PrintWriter
构造函数可以接收的参数类型。 
1.file对象。File 
2.字符串路径。String 
3.字节输出流。OutputStream 
4.字符输出流。Writer

合并流:将多个流合并成一个流
切割流:将一个流切割成多个流

0 0
原创粉丝点击