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. python音乐分类--knn

    1 #利用knn算法分类音乐,将音乐进行情绪分类 2 #将音乐分为兴奋的(excited), 愤怒的(angry),悲伤的(sorrowful),轻松的(relaxed) 3 4 #可分离因素 5 # ...

  2. C#发送字符串转字节含空格与0x需删去

    主要作用:清除发送字符串转字节中的空格和16进制前缀0x, 字节转换按两位字符转换为一个字节,多余一位按一位字符转换一个字节 //清除空格和16进制前缀发送 String sendstr;// = n ...

  3. shell typeset 命令使用修改大小写

    typeset的-u选项可以将一个变量的字符变成大写 1 /home/lee#typeset -u var=abc 2 /home/lee#echo $var 3 ABC -l选项将一个变量的字符变成 ...

  4. 【线性DP】乌龟棋

    #include<bits/stdc++.h> using namespace std; int a[400],b[5]; int dp[50][50][50][50]; int main ...

  5. 第二次python作业

    #3.1 print("今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问几何?\n") number = int(input("请输入你认为符合条件的数: & ...

  6. nojejs 弹出子窗口,取值后返回

    1.主窗口: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <ti ...

  7. Collectors类的静态工厂方法-《Java 8实战》笔记

  8. 循环文件夹汇总所有发票开具Excel文件数据

    'xlsx cnADO.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 8.0;hdr=no;imex= ...

  9. 微信小程序 实现点击返回顶部

    效果: wxml: <!-- 点击回顶部 --> <image src='/images/top.jpg' class='goTop' hidden='{{showTop}}' bi ...

  10. python xlwings实用操作记录

    import xlwings as xw tfile="test.xlsx" newfile="new.xlsx" app = xw.App(visible=F ...