第二十课:输入和输出(I/O流)

编程入门 行业动态 更新时间:2024-10-23 12:25:00

第二十课:输入和输出(I/O流)

第二十课:输入和输出(I/O流)

第二十课:输入和输出(I/O流)
一、了解输入和输出的概念
•当你在利用程序将文件/RAM内存/键盘输入的东西 获取到的这个过程中,它会使用到
你系统的InputStream(输入流)
•当你在利用程序将一些内容输出到文件/RAM内存/控制台等的时候,这个过程里面 使
用到了系统的OutputStream(输出流)
•BIOS

二、使用File类操作文件或目录
java.io.File类
•需求:获取某个文件的大小
•常用的API
⑴long length(); 获取文件的大小 单位:字节
⑵boolean exists(); 判断文件/目录是否存在
⑶boolean isFile(); 判断是否是文件
⑷boolean isDirectory(); 判断是否是目录
⑸String getPath(); 获取相对路径
⑹String getAbsolutePath(); 获取绝对路径
⑺boolean delete(); 删除空目录、文件
⑻boolean createNewFile(); 创建【文件】
⑼boolean mkdir(); 创建文件夹
⑽String getName(); 获取文件名,带有扩展名
⑾list等…

三、理解流的概念和分类
1.流:(电流、水流、车流)乃至于我们计算机世界中的数据流
它所代表的是一组有序的数据序列 以先进先出德兴市进行传递(流动)
2.按照流的走向:(参照的是程序是在进行读取还是写入)
⑴输入流(读)
⑵输出流(写)
3.按照处理的数据单元:
⑴字节流
它可以用来以字节为单位操作数据 一般用来作为数据传递使用
可以操作的有 普通的文本文件、图片、视频、音频等所有的
⑵字符流
文本 一般用来阅读一些内容
可以操作能被Notepad++打开不乱码的内容

四、会使用字节流读写文本文件
1.InputSteam -> FileInputStream 字节输入流
⑴构造:
FileInputStream(File file);
FileInputStream(String path);
⑵常用方法:
•int read(); 从输入流中读取一个字节数据
•int read(byte[] b); 从输入流中读取字节数组b长度的字节数据,会将读取到的字节
数据存储到字节数组中 返回值是真正读取到的总字节数量
•int read(byte[] b,int offset,int length); 从输入流中读取指定索引开始 指定长度的字
节数据
•void close(); 关流!!!!!
•int avaliable(); 返回可读取到的字节数量
2.OutputStream -> FileOutStream 字节输出流
⑴构造:(默认情况下,如果文件不存在 输出流辉自动创建文件,并且每一次都会覆盖
文件内容)
•FileOutputStream(File file);
•FileOutputStream(String path);
•FileOutputStream(String path,boolean append); 可以继续追加数据
⑵常用方法:
•void write(int byte); 将一个字节写入输出流
•void write(byte[] b); 将一个字节数组写入输出流
•void write(byte[] b,int offset,int length); 将一个字节数组内指定索引开始 指定长度
的字节数据写入输出流
•void close(); 关流!!!
3.需求:利用字节流 将d盘下的a.txt 复制到 e盘下的c.txt

  public class Text1{@SuppressWarnings(“resource”)public static void main(String[] args){FileInputStream fis = null;FileOutputStream fos = null;try{// 1.指定数据源fis =new File InputStream(“d:/a.txt”);// 2.指定输出目的地fos = new FileOutputStream(“e:/c.txt”)//byte[] b =new byte[fis.available()];byte[] b =new byte[1024];int len = 0;//边读边写// 循环读取输出流  每次读取1024个字节数据while((len = fis.read(b)) != -1 ){fos.write(b,0,len);}}catch(Exception e){e.printstackTrace();}finally{// 3.关流try{// 先开后关if(fos != null){fos.close();}if(fis != null){fis.close();   }}catch(IOException e){e.printStackTrace();}}}}

第三方库
commons-io

更多推荐

第二十课:输入和输出(I/O流)

本文发布于:2024-02-11 15:33:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681760.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!