file类(课堂笔记)

本文详细介绍了Java中File类的使用,包括创建、读写、拷贝文件等基本操作。通过示例代码展示了如何获取文件属性,创建新文件,读取文件内容并打印,以及向文件中写入数据。此外,还演示了数据流的读写,如字节流的文件拷贝和数据输出流写入文件。
摘要由CSDN通过智能技术生成


前言

提示:以下是本篇文章正文内容,下面案例可供参考

一、file类

1.File file=new File(“D:\IntelliJ IDEA 2021.1.1\build.txt”);

package jdbc;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
public class file {
        public static void main(String[] args) throws IOException {
            //获取系统磁盘
            File[]  files=File.listRoots();
            System.out.println(Arrays.toString(files));
            //创建文件名
            File file=new File("D:\\IntelliJ IDEA 2021.1.1\\build.txt");
            System.out.println(file.getName());         //获取文件的名字
            System.out.println(file.getAbsolutePath()); //获取文件的绝对路径
            System.out.println(file.length());          //获取文件长度
            System.out.println(file.isFile());          //判断文件是否是一个普通文件,而不是目录
            System.out.println(file.canExecute());      //文件是否可执行
            System.out.println(file.canRead());         //文件是否可读
            System.out.println(file.canWrite());        //文件是否可写
            System.out.println(new Date(file.lastModified()));//上一次修改时间
            //创建文件
            file=new File("d:\\hello.txt");
            file.createNewFile();
        }

}

2.File file=new File(“D:\eclipse\429\example\src”,“file01.java”);

package example;

import java.io.File;
import java.io.IOException;

public class file01 {
	public static void main(String[] args) {
		File file=new File("D:\\eclipse\\429\\example\\src","file01.java");//在   的路径下,创建一个文件
		System.out.println(file.getName());
		System.out.println(file.length());
		System.out.println(file.getAbsolutePath());
		System.out.println(file.canRead());
		System.out.println(file.canWrite());
		File file01=new File("hello.txt");
		System.out.println("在当前目录中创建新文件"+file01.getName());
		if(!file01.exists()) {
			try {
				file01.createNewFile();
				System.out.println("创建成功");
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
}

二.拷贝文件

package example;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
//拷贝文件
public class fileinout {
public static void main(String[] args) {
	InputStream in=null;
	OutputStream out=null;
	try {
		in=new FileInputStream("D:\\QQ文件\\01-数据结构-第01天 - 动态数组(3-4班).rar");
		out=new FileOutputStream("d:\\作业.rar");
		byte[] buffer=new byte[1024];
		int len;
		while((len=in.read(buffer))!=-1){
			out.write(buffer,0,len);
		}
	} catch (Exception e) {
		// TODO: handle exception
		e.printStackTrace();
	}finally{
		if(in!=null){
			try {
				in.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(out!=null){
			try {
				out.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
}

三.创建文件,并写入数据

package example;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class fileinout01 {
public static void main(String[] args){
	OutputStream output=null;
	try {
		output=new FileOutputStream("d:\\table.txt");
		output.write("姓名\t班级\t学号\t考试成绩\n".getBytes());
		output.write("张三\t软件三班\t20190001\t59\n".getBytes());
		output.write("张三\t软件三班\t20190001\t59\n".getBytes());
		output.write("张三\t软件三班\t20190001\t59\n".getBytes());
		output.write("张三\t软件三班\t20190001\t59\n".getBytes());
		output.write("张三\t软件三班\t20190001\t59\n".getBytes());
		output.flush();//清空缓存
	} catch (Exception e) {
		// TODO: handle exception
	}finally{
		if(output!=null)
			try {
				output.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
}
}

四.读取文件里的内容,并打印出来

package example;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;


public class fileread {
public static void main(String[] args) {
	InputStream in=null;
	try {
		in=new FileInputStream("d:\\table.txt");
		//参数是一个字节数组,把流里面的数据拷贝到字节数据数组里面
		//字节数组到底定义为多大?循环读取流数据
		//返回值表示实际读取的字节数,如果返回-1表示读取完成
		//一次读取字节数组定义的长度
		byte[] buffer=new byte[1024];
		int len=0;
		ByteArrayOutputStream out=new ByteArrayOutputStream();
		while((len=in.read(buffer))!=-1){
			out.write(buffer, 0, len);
		}
		System.out.println(out.toString());
	} catch (Exception e) {
		// TODO: handle exception
		e.printStackTrace();
	}finally{
		if(in!=null){
			try {
			in.close();	
			} catch (IOException e) {
				// TODO: handle exception
			}
		}
	}
}
}


五.在文件里写入数据

对于Writer流,write方法将数据首先写入到缓冲区,每当缓冲区溢出时,缓冲区的内容被自动写入到目的地,如果关闭流,缓冲区的内容会立刻被写入到目的地。流调用flush()方法可以立刻冲洗当前缓冲区,即将当前缓冲区的内容写入到目的地。

package example;

import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class fileshujuliu {
public static void main(String[] args) {
	DataOutputStream out=null;
	try {
		out=new DataOutputStream(
				new BufferedOutputStream(new FileOutputStream("d:\\data.txt")));
		out.writeInt(100);
		out.writeDouble(3.14);
		out.writeBoolean(true);
		out.writeLong(10000);
		out.writeChars("2学院");
		out.flush();
	} catch (Exception e) {
		// TODO: handle exception
	}finally{
		if(out!=null){
			try {
				out.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}
}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值