zoukankan      html  css  js  c++  java
  • java学习--基础知识第十天--笔记

    IO流的概述
    IO流:Input表示输入,O是Output表示输出
    IO流的作用:用于处理设备(文件,内存,控制台,键盘等)之间的数据传输

    注意:其他设备到内存(Java程序)属于输入(读),从内存(Java程序)到其他设备属于输出(写)

    分类:
    流向分:输入流和输出流

    IO流使用时的注意事项:
    (1)需要抛出异常IOException
    (2)需要导包,因为IO相关的类位于java.io包下
    (3)调用close()方法释放资源
    字符流
    FileWriter类
    和文件相关的字符输出流

    步骤:
    (1)创建FileWriter对象,传递的是文件的路径,表示我要往该文件中写入数据
    FileWriter fw = new FileWriter("D:\b.txt");

    注意:关联的文件不存在,会自动创建,但是如果文件路径(比如盘符和文件夹)不存在不会创建,会报出异常,提示文件路径不存在
    (2)调用方法往文件中写入数据
    fw.write("哈哈");
    //(3)刷新缓冲区
    // fw.flush();
    (4)释放资源
    fw.close();

    注意:close()方法除了具有释放资源的功能,还有自动刷新的功能

    相对路径和绝对路径
    绝对路径:从盘符开始的路径,比如E:\a.txt
    相对路径:不是从盘符开始的路径,比如hello\a.txt,b.txt
    在Eclipse中相对路径,相对的是当前项目路径下

    close()和flush()的区别
    flush():刷新缓冲区;flush()可以多次调用,调用完flush()方法之后,还可以继续使用流对象
    close():先刷新,再关闭资源;close()调用完之后,流就关闭了,不能在使用流对象了

    5个写的方法
    void write(String str):写一个字符串
    void write(int ch):一次写一个字符
    void write(char[] chs,int index,int len):写字符数组的一部分

    void write(String str,int index,int len):写字符串的一部分
    void write(char[] chs):一次写一个字符数组

    写入换行
    Windows系统:

    追加写入
    使用FileWriter(String fileName, boolean append) 这个构造方法
    只要第二参数传入true

    FileReader
    和文件相关的字符输入流

    步骤:
    (1)创建FileReader对象,关联要读取的文件
    FileReader fr = new FileReader("a.txt");

    注意:读取的文件必须要存在,否则报文件找不到异常
    (2)通过read()方法读取字符,一次读取一个字符
    int ch = fr.read();

    // 循环读
    int ch;
    while((ch=fr.read())!=-1){

    }

    int read():一次读取一个字符,返回字符对应的码标值,如果读取到文件的末尾返回-1

    (3)释放资源
    fr.close();

    读的方法
    int read():一次读取一个字符
    int read(char[] chs):一次读取一个字符数组,返回读取的有效字符个数

    缓冲流(高效流)
    BufferedWriter
    * newLine():写入一个换行符,它是跨平台的
    BufferedReader
    * readLine():一次读取一行数据,碰到回车换行表示一行读取结束,但是读取的数据中不包含回车换行


    文件拷贝
    方式一:FileReader和FileWriter一次读写一个字符

    方式二:FileReader和FileWriter一次读写一个字符数组

    方式三:BufferedReader和BufferedWriter一次读写一个字符

    方式四:BufferedReader和BufferedWriter一次读写一个字符数组

    方式五:BufferedReader和BufferedWriter使用特殊功能newLine()和readLine()一次读写一行


    案例
    一:把ArrayList集合中的字符串数据存储到文本文件
    二:从文本文件中读取数据到ArrayList集合中,并遍历集合

  • 相关阅读:
    outlook的签名导致新邮件使用签名时产生ActiveX警告。
    Insecure.Org 2006年度的安全工具调查
    理解windows网络/netbios/SMB/CIFS
    hp 笔记本 sata native mode安装xp
    repadmin查看活动目录内的对象属性
    Schema Object Identifiers OIDs
    普通用户设置显示DPI没有权限
    在两个页面间翻转设置Animation动作的一些总结
    Xcode3.2.6异常调试,快速定位出错行
    (转)用NSDateFormatter调整时间格式的代码
  • 原文地址:https://www.cnblogs.com/bigorangehasc/p/8639133.html
Copyright © 2011-2022 走看看