输入,输出流(上)

File类:对象本身主要获取一些文件本身的信息,例如文件的目录,文件的长度,文件读取的权限,不涉及对文件的读写操作。

三个构造方法:

File(String filename);
File(String directoryPath,String filename);
File(File dir,String filename);

filename 文件名字 , directoeyPath文件路径,dir文件目录;

属性:

File f=new File("C:\\Users\\lenovo-pc\\Desktop","测试.txt");
		f.getName();//获取文件名字
		f.canRead();//判断文件是否可读
		f.canWrite();//判断文件是否可写
		f.exists();//判断文件是否存在
		f.length();//获取文件的长度(单位是字节)
		f.getAbsoluteFile();//获取文件的绝对路径
		f.getParent();//获取文件的父目录
		f.isFile();//判断文件是否是一个普通文件
		f.isDirectory();//判断文件是否是一个一个目录
		f.isHidden();//判断文件是否是一个隐藏文件
		f.lastModified();//获取文件最后修改的时间
                f.delete();//删除文件

文件字节输入流:

俩个构造方法:

FileInputStream(String name);
FileInputStream(File file);

第一个构造方法使用给定的文件名name创建FileInputStream流,第二个构造方法使用File对象创建FileInputStream流。

使用输入流读取数据

int read();//输入流调用该方法从源中读取单个字节数据,返回字节值(0~255)之间整数,如果没有读到返回-1
int read(byte b[]);//输入流调用该方法从源中视图读取b.length个字节到数组b中,返回实际读取的字节数目。达到文件末尾返回-1;
int read(byte b[],int off,int len)//输入流调用该方法从源中试图读取len个字符到字节数组b中,并返回实际读取的字节数目。如果达到文件末尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据

具体测试代码:

File f=new File("C:\\Users\\lenovo-pc\\Desktop","测试2.txt");
		FileInputStream fi=new FileInputStream(f);
		int n=0;
		byte[] b=new byte[100];
		while((n=fi.read(b))!=-1){
			String s=new String(b,0,n);
			System.out.println(s);
		}
		fi.close();

文件字节输出流(FileInputStream)

构造方法:

FileOutputStream(String name);

FileOutputStream(File file);

第一个构造方法使用给定的文件名name创建FileOutputStream流,第二个构造方法使用File对象创建FileOutputStream流。参数name和file指定的文件称为输出流的目的地。

使用输出流写字节

  • void write(int n) 输出流调用该方法向目的地写入单个字符
  • void write(byte b[])输出流调用该方法向目的地写入一个字节数组。
  • void write(byte b[],int offf,int len)给定字节数组中起始于偏移量off处取len个字节写到目的地
  • void close()关闭输出流

具体代码实现

File f=new File("C:\\Users\\lenovo-pc\\Desktop","测试2.txt");
		FileInputStream fi=new FileInputStream(f);
		int n=0;
		byte[] b=new byte[100];
		while((n=fi.read(b))!=-1){
			String s=new String(b,0,n);
			System.out.println(s);
		}
		fi.close();
		FileOutputStream fo=new FileOutputStream(new File("C:\\Users\\lenovo-pc\\Desktop", "新测试.txt"));
		fo.write(b);
		fo.close();

 

喜欢的记得点个关注哟!

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值