四月二十五号java基础知识
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基础知识的更多相关文章
- 《手把手教你》系列技巧篇(二十五)-java+ selenium自动化测试-FluentWait(详细教程)
1.简介 其实今天介绍也讲解的也是一种等待的方法,有些童鞋或者小伙伴们会问宏哥,这也是一种等待方法,为什么不在上一篇文章中竹筒倒豆子一股脑的全部说完,反而又在这里单独写了一篇.那是因为这个比较重要,所 ...
- Java基础(二十五)Java IO(2)文件File类
File类是一个与流无关的类.File类的对象可以获取文件及其文件所在的目录.文件的长度等信息. 1.File对象的常用构造方法. (1)File(String pathname) File file ...
- 十五、Java基础---------集合框架体系以及List
在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可 ...
- 二十八、Java基础--------正则表达式
在对字符串进行处理时一方面可以利用String对象的一些处理方法另一方面可以利用正则表达式,但是一般情况下用String对象方法进行处理起来会相对麻烦一些而正则表达式可以很方便的解决问题.为了更好的学 ...
- java基础知识回顾之---java String final类普通方法
辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正. /* * 按照面向对象的思想对字符串进行功能分类. * ...
- JAVA基础再回首(二十五)——Lock锁的使用、死锁问题、多线程生产者和消费者、线程池、匿名内部类使用多线程、定时器、面试题
JAVA基础再回首(二十五)--Lock锁的使用.死锁问题.多线程生产者和消费者.线程池.匿名内部类使用多线程.定时器.面试题 版权声明:转载必须注明本文转自程序猿杜鹏程的博客:http://blog ...
- JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine
JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇 ...
- Java进阶(二十五)Java连接mysql数据库(底层实现)
Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...
- 二十五. Python基础(25)--模块和包
二十五. Python基础(25)--模块和包 ● 知识框架 ● 模块的属性__name__ # my_module.py def fun1(): print("Hello& ...
- java基础知识一览(二)
一.java基础知识 1.一个文件中只能有一个public的类,因为他的类名要求和文件名相同. 2.classpath变量可以设置其它目录下的类. 例如:类文件所在目录是:F:\Javajdk,那么没 ...
随机推荐
- char *setlocale(int category, const char *locale)
category -- 这是一个已命名的常量,指定了受区域设置影响的函数类别. LC_ALL 包括下面的所有选项. LC_COLLATE 字符串比较.参见 strcoll(). LC_CTYPE 字符 ...
- 2020ccpc威海C.Rencontre题解(树形dp)
题目大意:给定一棵带边权树,给三份点的集合U1,U2,U3,求0.5*(E(dis(u1,u2))+E(dis(u1,u3))+E(dis(u2,u3))). 即,我们需要维护两份点的所有距离和.显然 ...
- 微信端手机跨域上传图片偶尔跑进error
如题.我这两天被这个问题搞得焦头烂额.其他端都没问题,就微信端的有问题,就是因为通过ajax上传图片的时候,设置了 async: false,然后客户用了测试总是跑进error,客户问什么情况,我也找 ...
- 字节过滤流->缓冲流 BufferedOutputStream 用法:
1创建字节输出节点流 :FileoutputStream fos = new FileoutputStream("文件输入的路径",true);(true表示追加,false表示覆 ...
- bitmap_find_next_zero_area_off函数
备注:
- c输入的缓冲区
作业题:输入两个整数(12和37),从键盘输入'A'和'a'时,输出两个数中的较大数:从键盘输入'B'和'b'时,输出两个数中的较小数. int a; char c; scanf("%d&q ...
- windows系统下使用java语言,在mysql数据库中做定时数据备份、删除
有这样一个业务需求,需要将数据归档的表每月定时备份,并且删除之前表中的数据,话不多说,直接上代码! 注意:这种方法适合数据量小,业务要求不高的场景! 项目采用SpringBoot + MyBatis ...
- 比 poi导入导出更好用的 EasyExcel使用小结
转载请注明出处: 官方文档: https://easyexcel.opensource.alibaba.com/docs/current/quickstart/read 1.简洁 Java解析.生成E ...
- DVWA-SQL Injection (Bind) SQL盲注
盲注同于union select查询注入,盲注只能得到数据库回显的正确和错误,利用返回的正确和错误一个一个判断. LOW 审计源码 <?php if( isset( $_GET[ 'Submit ...
- VMware虚拟机扩容--保姆级教学
由于项目逐步的完善,需要搭建的中间件,软件越来越多,导致以前虚拟机配置20G的内存不够用了,又不想重新创建新的虚拟机,退而求更精,选择扩容. 1.外部先进入虚拟机设置,将磁盘先扩展,具体提示如下图所示 ...