Java i/o流

Java i/o流

流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出 。

File

File: 文件的意思(文件和文件夹),对计算机来说,文件就是指定盘符下的文件或者文件夹
即,Java中把文件或者目录(文件夹)都封装成File对象。也就是说如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可。
方法:

  • 创建文件: public boolean createNewFile() 创建文件,如果文件存在,就不创建,返回false
  • 创建文件夹: public boolean mkdir() 创建文件夹,如果文件夹存在,就不创建,返回false, 只能创建单个文件夹 mkdir (make directory)
  • 创建多层文件夹: public boolean mkdirs() 创建文件夹,如果文件夹存在,就不创建,返回false, 可以创建多层文件夹 mkdirs
  • 判断是否是文件: public boolean isFile()
  • 判断是否是文件夹: public boolean isDirectory()
  • 判断文件是否存在: public boolean exists()
  • 获取文件的大小: public long length() 返回的是字节个数 结果/1024/1024 就是MB
  • 获取某个文件夹下面的文件: public String[] list() 返回的是字符串数组,表示的是文件夹下面的文件或者文件夹的名称

File类常用方法

方法作用返回值
createNewFile()创建名称的空文件,不创建文件夹boolean
isDirectory()判断是否是目录boolean
isFile()判断是否是目录boolean
exists()判断文件或目录是否存在boolean
getAbsolutePath()返回此对象表示的文件的绝对路径名String
getPath()返回此对象表示的文件的相对路径名String
getName()返回此对象表示的文件或目录的名称String
length返回文件的长度,单位为字节long
File f=new File("D:\\hello.txt");         
	try{             
		f.createNewFile(); 
		f.delete();             
		String
fileName="D:"+File.separator+"hello";             
	File f=new File(fileName);         
	f.mkdir();         
	}catch (Exception e) {             
	e.printStackTrace();         
	}

字节输出/输入流

字节流 - 字节输入流:FileInputStream
字节输出流:FileOutputStream
入 出: 相对内存而言
输入流:读取数据到内存
输出流:写数据到文件
字节流因为操作的是字节,所以可以用来操作媒体文件。(媒体文件也是以字节存储的)

字节输入流

 File f=new File("stars.txt"); //定位文件位置
 InputStream in=new FileInputStream(f); //创建字节输入流连接到文件   
 byte[] b=new byte[1024]; //定义一个数组,用来存放读入的数据 byte数组的大小也可以根据文件大小来定 
 (int)f.length()   
 int count =0;    
 int temp=0;   
 while((temp=in.read())!=(-1)){ //in.read()是逐字节读的。当读到文件末尾时候返回-1   
 b[count++]=(byte)temp; //将读到的字节存储到byte数组中    
 }   
 in.close(); //关闭流   
 System.out.println(new String(b)); //打印读取到的字节

字节输出流

File f = new File("stars.txt"); // 定位文件位置   
OutputStream out = new FileOutputStream(f); // 创建字节输出流连接到文件   
String str = "星辰";    
byte[] b = str.getBytes(); //将数据存入byte数组   
out.write(b); //写数据    
out.close(); //关闭流

文件的拷贝: 思路就是从一个磁盘里面读取的时候,写到另外一个磁盘里面。

字符流

其实字符流的底层还是字节流, 字符流是专门处理文本的
字符输入流: FileReader
字符输出流: FileWriter

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值