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();
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值