19-io流(一),文件对象,字节流的输入输出

19-io流

  • File: 文件对象
import java.io.File;
import java.io.IOException;

public class FileDemo {
	public static void main(String[] args) throws IOException {
		
		//构建成一个file对象
		//将硬盘上的一个文件构造成了一个java可以操作的对象
		File file = new File("D:\\fandeqing.txt");
		
		//判断
		System.out.println("判断文件是否存在"+file.exists());
		System.out.println("判断是否是文件"+file.isFile());
		System.out.println("判断是否是目录"+file.isDirectory());
		
		//创建文件
		if(!file.exists()){		//如果文件不存在
			file.createNewFile();	//创建一个内容为空的文件
			System.out.println("文件已创建");
		}else{
			System.out.println("文件已存在");
		}
		
		//文件属性
		System.out.println("获取文件名: "+file.getName());
		System.out.println("文件的长度"+file.length());
		System.out.println("相对路径: "+file.getPath());
		System.out.println("绝对路径: "+file.getAbsolutePath());
		
		//删除
		if(file.delete()){
			System.out.println("文件已删除");
		}
	}
}
  • FileInputStream : 字节文件输入流
    • 对字节文件进行读取
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

public class FileInputStreamDemo {
	public static void main(String[] args) throws IOException {
		//[1]创建文件输入流的对象
		FileInputStream fis = new FileInputStream("D:\\fandeqing.txt");
		//[2]读取文件 --->  byte数组
		byte[] buf = new byte[1024];
		fis.read(buf);
		System.out.println(new String(buf));
		
		show();
	}
	
	public static void show() throws IOException{
		String file = "D:\\fandeqing1.txt";
		
		//[1]创建文件输入流对象
		FileInputStream fis = new FileInputStream(file);
		
		//[2]读取字节文件
		int len = 0;
		while((len=fis.read()) != -1){
			System.out.println((char)len);
		}
		
		//关闭流
		fis.close();
	}
}
  • FileOutputStream : 写出文件
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamDemo {
	public static void main(String[] args) throws IOException {
		//[1]创建文件输出对象  true的作用就是不覆盖原文件,而是在上添加
		FileOutputStream fos = new FileOutputStream("D:\\fandeqing.txt", true);
		
		//[2]写出文件
		String str = "菲比小姐姐是宇宙第一美";
		byte[] by = str.getBytes();		//把String类型转为数组
		fos.write(by, 0, by.length);
		//[3]关闭输出流
		fos.close();
	}
}
  • DataOutputStream : 操作基本数据类型 数据的类型
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class DataOutputStreamDemo {
	public static void main(String[] args) throws IOException,FileNotFoundException {
		//[1]创建要写出的文件对象
		FileOutputStream fos = new FileOutputStream("D:\\fandeqing.txt");
		//[2]创建基本数据的处理流
		DataOutputStream dos = new DataOutputStream(fos);
		
		//[3]写出
		dos.writeInt(34324);
		dos.writeDouble(23.43);
		dos.writeUTF("哈哈哈");
		
		//[4]关闭
		dos.close();
		fos.close();
		System.out.println("写入数据完毕");
		System.out.println("======================");
		
		//读取数据
		//创建匿名的文件输入流
		DataInputStream dis = new DataInputStream(new FileInputStream("D:\\fandeqing.txt"));
		
		//读取的顺序要和写入的顺序一致,不然报错
		System.out.println(dis.readInt());
		System.out.println(dis.readDouble());
		System.out.println(dis.readUTF());
		
		//关闭
		dis.close();
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值