IO流和文件流

一.file类 

 File file=new file("d:\\a.txt"); 

只是创建了一个表示,并不会在文件夹中创建一个txt

 

方法名描述
file(file parent,string child)根据parent抽象路径名和child路径名创建一个新的file实例
file(string pathname)创建一个新的实例
file(string parent,string child)根据parent路径名字符串和child路径名字符创建一个新的file实例

mkdir()创建此抽象路径名指定的目录

mkdirs()多级目录

io流

 1.内存要和磁盘进行交互处理,内存把数据存储到磁盘中就是输入。磁盘中的数据被提出来交给内存处理就是输出,

2.流:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。

3.字节流:一次性传输一个字节数据,将数据以字节的形式传输;

字符流:一次性传输一个字符(utf—8)数据,将数据以字符的形式传输。

public class DemoFileInputStream {
	public static void main(String[] args) {
		//创建被操作文件:此文件必须存在,否则读取时,抛出文件找不到异常
		File file = new File("test\\hello.txt");
		//声明流,不初始化
		FileInputStream fis = null;
		try {
			//初始化流
			fis = new FileInputStream(file);
			//准备数组用来存储数据
			byte[] b = new byte[3];
			//先定义一个变量,初始值是-1
			int i = -1;
			//定义一个计数循环的变量
			int count = 0;
			//while循环读取
			while((i=fis.read(b))!=-1) {
				count++;
				for(int j=0; j<i; j++) {
					System.out.print((char)b[j]);
				}
			}
			System.out.println(count);//计数:计算循环读取的次数
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			if(fis!=null) {
				try {
					fis.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}	
	}
}

writer:是所有字符输出流的父类,为一个抽象类,并不能实例化对象,使用他的子类filewriter;

File file=new File("file/output.txt");  writer writer=new file writer(file);    writer.writer("为你弹奏肖邦的夜曲"); writer.flush(); writer.close();

总结

 1.file类,表示硬盘上的文件或者文件夹。(1)file file=new file 加一个映射,不能创建。

(2)判断存在使用exists   

(3)创建出来文件或者文件夹使用createnewfile 或者mkdir ,mkdirs

(4)删除用delete或者deleteonexit   使用tread.sleeo 可以预留时间看是否删除。

(5)获取绝对路径file.getAbsoultatePath() 规范路径 file.getpath    最后修改时间file.lastmodified()

(6)判断是文件还是文件夹 file.isdirectory() file.isfile() file.ishidden;

(7)列出来当前目录下的文件和子文件夹
        dir.list();//String[]
        dir.listFiles();//File[]
        dir.list(FileNameFilter);
        File.listRoots();//返回所有的盘符

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值