IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> Java当中的流 -> 正文阅读

[Java知识库]Java当中的流

什么是流:流是用于隐藏数据传输细节的操作模型,是数据传输的抽象表达。

File类:

用于封装文件或者目录,提供一些获取相关属性的方法

创建一个名为out的文件夹:

File file = new File("out/");
if(!file.exists())
    file.mkdirs();//mkdirs()用于创建文件

方法:
File f1=new File("data/dd.txt");//相对路径????? File f2=new File("dd:bb.txt");//绝对路径
f1.length():long 获取某个文件的大小
ff.getAbsolutePath() 获取指定文件或者文件夹对应的绝对路径
.isDirectory() 用于判断当前文件对象是否为文件夹
.isFile() 用于判断当前文件对象是否为文件
.exists():boolean 用于判断当前文件对象指代的文件或者文件夹是否存在,如果存在则true,否则false
?delete():boolean 用于执行当前文件或者文件夹删除,如果对象是文件夹,则自动删除文件夹,如果对象是文件,删除返回
mkdir()用于执行文件夹的创建,如果文件夹已经存在则直接重用,如果不存在则创建一级文件夹
?File[] fs=ff.listRoots();用于获取当前系统所支持的所有根路径
?ff.list();:string 获取指定文件夹下的所有子文件夹或者子文件
?ff.listFile():File[] 获取指定文件夹下的所有子文件或者子文件夹所构成的File数组

流的分类:

根据流的方向分为输入流和输出流

根据传输单位分为字节流和字符流

根据功能范围分为节点流和过滤流

字节流:

InputStreamOutputStream,都实现了Closeable接口

InputStream操作用于实现数据的读取操作

read():表示只读取一个字节,0-255之间,-1表示流结束

read(char[]): 返回的是一次读取的字节数

close(): 关闭流

OutputStream操作方法用于实现数据的写出操作

write(int):写出一个字节

write(byte[],具体数据,int启示下标,int长度)

close():关闭流

实现文件的拷贝操作:

public static void main(String[] args) throws Exception{
	try (
		InputStream is = new FileInputStream("d:/a.txt");
		OutputStream os = new FileOutputStream("d:/b.txt");) {
		// 从输入流中读取数据
		int bb=is.read();
		while(bb!=-1) {
			// 向输出流中写出数据
			os.write(bb);
			bb=is.read();
		}
	}
}

字符流:

Reader和Writer

? 输入流Reader
? read():读取下一个字符数据,返回值0-65535,如果流结束则返回-1
? read(char[]):读取最多数组最大长度个字符到字符数组中,返回读取的字符个数;流结束则返回-1
? close(): 关闭输入流

? 输出流Writer
??? write(int): 写出一个字符,自动抛弃int的高16位
??? write(char[],int offset,int len)将char数组中从offset下标位置开始,总共len个字符写出到输入流
??? close(): 关闭输出流

读取a.txt文件中的内容,在控制台打印输出,并写入out.txt文件中:

public static void main(String[] args) {
	try (Reader r = new FileReader("a.txt"); Writer w = new FileWriter("out.txt")) {
		int cc = 0;
		while ((cc = r.read()) != -1) {
			System.out.print((char) cc);
			w.write(cc);
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
}

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:27:33  更:2022-04-18 17:29:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 4:38:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码