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();
	}
}

猜你喜欢

转载自blog.csdn.net/qq_26270869/article/details/90055340