1.注意:无论哪个构造方法,在创建文件输入输出流时都可能银给出的文件名不对、路径不对
文件的属性不对等,不能打开文件而造成错误,此时系统会抛出FileNotFoundException异常
执行read()和write()方法时还可能因为I/O错误系统抛出IOException异常,所以创建输入输出
流调用构造方法语句以及执行读写操作的语句必须被包含在try语句中,并有相应的catch语句
块来处理可能产生的异常,同样也可以使用自动关闭资源语句try-catch-resources
2.过滤输入输出:
过滤字节输入输出FilterInputStream和过滤字节输出流 FilterOutputStream ,分别实现了在
数据的读、写操作的同时进行数据处理,它们是InputStream和 OutputStream类的直接子类
FilterInputStream和FilterOutputStream也是两个抽象类,它们分别派生了数据输入流类
DataInputStream和数据输出流类DataOutputStream等子类。
3.过滤字节输入输出流最大特点:
过滤字节输入输出流是建立在基本输入输出流之上,并在输入输出数据的同时能对所传输的
数据做指定类型或格式的转换,即可实现二进制字节数据的理解和编码转换。
4.数据输入流DataInputStream和数据输出流DataOutputStream的构造方法:
1)DataInputStream(InputStream in)建立一个新的数据输入流,从指定的输入流in读数据
2)DataOutputStream(OutputStream out)建立一个新的数据输出流,向指定的输出流
写数据
5.注意:由构造方法的形式来看 ,作为过滤流,字节输入流和输出流分别作为数据输入流和
输出流的构造方法的参数,即作为过滤流必须与相应的数据流相连。
6. 使用Reader和Writer流类:
使用FileReader类读取文件:在使用FileReader类读取文件时,必须先调用FileReader()
构造方法创建FileReader类的对象,再利用它来调用read()方法
FileReader fr = new FileReader("D:/JAVA/test.txt");
int num = fr.read(c);
7.String str = new String(c,0,num);//利用String()构造方法将字符数组c从下标为0的位置开始
取num个字符赋给变量str,实际上str就是所读取文件的全部内容
8.注意:java把每个汉子和英文字母作为一个字符对待,但把Enter键生成的回车换行符“\r\n”
作为两个字符
9.使用FileWriter类写入文件:
要使用FileWriter类将数据写入文件,必须先调用FileWriter()构造方法创建FileWriter类对象
再用它来调用write方法
FileWriter fw = new FileWriter("D:\\JAVA\\TEST.TXT");
fw.write(c);//将字符数组写到文件里面
fw.write(str);//将字符串写到文件里
10.使用BufferedReader类读取文件:是用于读取缓冲区的数据
使用BufferedReader类读取缓冲区的数据之前,必须先创建Filereader类对象,再以对象为
参数来创建BufferedReader的对象,菜可以利用此对象来读取缓冲区中的数据
FileReader fr = new FileReader("D:/JAVA/test.txt");
BufferedReader bfr = new BufferedReader(fr)
11.使用BufferedWriter类写入文件:是用于将数据写入缓冲区
首先必须先创建FileWriter类对象,再以该对象为参数来创建BufferedWriter的对象,然后
可以利用此对象将数据写入缓冲区中。
12.缓冲区的数据最后必须用fluse()方法将缓冲区清空,也就是将缓冲区中的数据
全部写入文件中
13.创建File类的对象:File类有三种构造方法,分别不同的参数形式接受文件和文件名信息
14.获取文件或文件属性:
public boolean exists():判断文件或文件夹是否存在
public boolean isFile():判断对象是否代表有效文件
public boolean isDirectory() 判断对象是否代表有效文件夹
public String getName():返回文件名或文件属性
public boolean canRead():判断文件是否可读
public boolean canRead():判断文件是否可写
15.文件或文件夹操作:
public boolean renameTo(File newFile):将文件重命名为newFile对应的文件名
public boolean delete():将当前文件夹删除,若删除成功返回true,否则返回false
public boolean mkdir():创建当前文件夹的子文件夹,若成功返回true,否则返回false

总结:今天学习了Reader和Writer类的对象调用读写方法读写文件夹中的内容,并把他们显示在屏幕上

四月二十五号java基础知识的更多相关文章

  1. 《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)

    1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇.那是因为这个比较重要,所 ...

  2. Java基础(二十五)Java IO(2)文件File类

    File类是一个与流无关的类.File类的对象可以获取文件及其文件所在的目录.文件的长度等信息. 1.File对象的常用构造方法. (1)File(String pathname) File file ...

  3. 十五、Java基础---------集合框架体系以及List

    在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可 ...

  4. 二十八、Java基础--------正则表达式

    在对字符串进行处理时一方面可以利用String对象的一些处理方法另一方面可以利用正则表达式,但是一般情况下用String对象方法进行处理起来会相对麻烦一些而正则表达式可以很方便的解决问题.为了更好的学 ...

  5. java基础知识回顾之---java String final类普通方法

    辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /*     * 按照面向对象的思想对字符串进行功能分类.     *      ...

  6. JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题

    JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序猿杜鹏程的博客:http://blog ...

  7. JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

    JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...

  8. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  9. 二十五. Python基础(25)--模块和包

    二十五. Python基础(25)--模块和包 ● 知识框架   ● 模块的属性__name__ # my_module.py   def fun1():     print("Hello& ...

  10. java基础知识一览(二)

    一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...

随机推荐

  1. Mysql的MVCC与幻读

    以下特殊情况在可重复读时会产生幻读: 1.a事务先select,b事务insert确实会加一个gap锁,但是如果b事务commit,这个gap锁就会释放(释放后a事务可以随意操作), 2.a事务再se ...

  2. if判断while循环

  3. hdu: You Are the One(区间DP)

    Problem Description The TV shows such as You Are the One has been very popular. In order to meet the ...

  4. java获取当前类的绝对路径

    转自: http://blog.csdn.net/elina_1992/article/details/47419097   1.如何获得当前文件路径 常用: (1).Test.class.getRe ...

  5. MapReduce实践

    1. 词频统计任务要求 首先,在Linux系统本地创建两个文件,即文件wordfile1.txt和wordfile2.txt.在实际应用中,这两个文件可能会非常大,会被分布存储到多个节点上.但是,为了 ...

  6. Blog作业02

    目录 前言 设计与分析 踩坑心得 改进建议 总结 前言 这三次作业的题目数量虽然增多,但是在题量加大的同时,这三次作业集的难度也相应的下去了,难度降低的同时也保证了作业集题目的质量.这三次的作业的知识 ...

  7. yum随笔

    1.一般企业的服务器都能联网,所以装包都是装系统给的或者是自己去第三方的源,如下: http://mirrors.aliyun.com/repo/Centos-7.repo http://mirror ...

  8. Hadoop服务启动失败

    Hadoop服务启动失败今天启动Hadoop时,终端报了一个新的错误 ```bashStarting namenodes on [192.168.19.128]192.168.19.128: ssh: ...

  9. 安装DevExpress VCL,使用时报错 某单元文件找不到的解决办法

    1.新建一个工程做为测试 2.点击projecct-->options 3. 4. 5.在上4图上的红框内加入packages文件 dxCoreRS27;dxGDIPlusRS27;dxComn ...

  10. MSVC设置版本

    MSVC设置版本 在开发QT时,由于QT 5.12与MSVC 2017兼容,因此需要用MSVC 2017来编译使用QT 5.12的程序. 1 安装MSVC 2017 由于笔者电脑上安装的Visual ...