IO流(java文件操作)

本文详细介绍了Java中如何使用File类进行文件和目录的操作,包括文件的创建、读取和写入。通过具体代码示例,展示了File类的方法如exists()、mkdir()、mkdirs()、createNewFile()等的使用,以及FileInputStream和FileOutputStream类的读写操作。

操作文件的类

File类(指向某个文件)

方法:

exists();判断文件是否存在

mkdir();创建一级文件夹

mkdirs();创建多级文件夹

相对路径(指向本项目中)

绝对路径(指定位置)

package com.cdz.io;
import java.io.File;
import java.io.IOException;
public class I_O {
	public static void main(String[] args) {
		File fp=new File("text1.txt");
		File fp2=new File("h\\h\\w");
		if(!(fp.exists())){//对象里的text.txt文件是否存在
			try {
				fp.createNewFile();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}//创建文件//这里对文件要抛异常
			if(!(fp2.exists())){
				fp2.mkdir();//创建一级文件夹
				fp2.mkdirs();//创建多级文件夹
				System.out.println("yes");
			}else{
				System.out.println("no");
			}
			System.out.println("yes");
		}else{
			System.out.println("no");
		}	
	}
}

 

注意:这里的路径中的" \ "是一对出现的,必须为" \\ ",这里是转义字符,window中是\,Linux中是/

FileInputStream类(输入流(对于计算机来说是输入,对我们来说时读取))

方法:

read();读

close();关闭文件流

package com.cdz.io;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class I_O {
	public static void main(String[] args) {	
		try {
			FileInputStream p=new FileInputStream("text.txt");	//对该文件进行读取内容//引入对象要抛异常
			//方式一:
//			int n=0;
//			while((n=p.read())!=-1){//这里文件里的读取,是以一个一个对内容转ACCISS码读取的
//				//返回-1时,则表示已达到时末尾
//					System.out.print((char)n);					
//			}
			
			//方式二:
//			byte[] b=new byte[100];
//			p.read(b);//把文件读取的所有内容放进byte数组中
//    		System.out.println(new String(b));//这里直接将数组中内容以字符串输出
    		
    		//方式三:
			byte[] b=new byte[100];
			p.read(b,0,8);// 这里0表示偏移量(从什么位置读取),4表示是4个读取
			System.out.println(new String(b,0,8));
			
			p.close();	//关闭文件
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
	}
}

FileOutputStream类(输出流)

方法:

write();

package com.cdz.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class I_O {
	public static void main(String[] args) {	
		try {
			//false,会删除原来已经有的文件内容;true,不会删除原来有的内容,默认false,可以不写
			FileOutputStream fil=new FileOutputStream("text.txt",true);
			//方式一
			fil.write(49);//向text.txt文件写入a,参数会转成字符型
			//方式二
			fil.write('a');
			//方式三
			byte[] b=new byte[]{'a','b','c'};
			fil.write(b);//以数组型式写入
			
			fil.close();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}		
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值