File:文件和目录路径名的抽象表示形式

  • File 类的实例是不可改变的


  • File的常用功能:
  • 创建功能 分为相对路径和绝对路径 相对路径是程序所在地址 例如 创建一个a.txt文件 就会在相对路径创建 绝对路径是带盘符的地址 而创建一个"C:\a\b.txt"就会在指定位置创建叫绝对路径
  • 创建文件夹mkdir同理 mkdirs就可以创建多级文件夹(“a\b\c”) a->b->c 当父文件夹不存在一并创建

  • 删除功能 file.delete();
  • 获取功能
  • File getAbsoluteFile():以File对象的形式返回当前File对象所有指向的绝对路径
  • String getAbsolutePath():返回字符串形式的File对象指向的绝对路径
  • String getParent():获取父路径字符串
  • File getParentFile():获取父路径对象
  • String getName():获取文件、文件夹名
  • String getPath():获取路径
  • long lastModified():最后修改时间(毫秒) Date d = new Date(file.lastModified) 转换为时间
  • long length():返回文件的字节数 只能返回文件字节 不能返回文件夹字节数
  • 判断功能
  • boolean exists():判断File对象指向的路径是否存在
  • boolean isAbsolute(): 判断File对象指向的路径是否是绝对路径
  • boolean isDirectory():判断File对象指向的路径是否是文件夹
  • boolean isFile(): 判断File对象指向的路径是否是个文件
  • boolean isHidden():判断File对象指向的路径是否都是隐藏文件
  • 修改功能
  • boolean renameTo(File dest):将当前对象所指向的路径修改为指定File所指向的路径
  • 注意 修改为的文件路径不能存在 如果存在则修改失败
package _File;

import java.io.File;
public class _File {
	public static void main(String[] args) {
		
	//File(String pathname):将指定路径转换为一个File对象,只是将指定文件创建一个对象,其他什么也不会做
	File file  = new File("C:\\File_Object\\a.txt");//如果没有这个文件 	file.createNewFile(); 就创建这个文件 file.mkdir();创建这个名的文件夹
	//File(String parent,String child):根据指定的父路径和文件名创建对象
	File file1 = new File("C:\\File_Object","a.txt");
	//File(File parent,String child):根据指定的父路径对象和文件路径创建File对象
	File parent = new File("C:\\File_Object");
	File file2 = new File(parent,"a.txt");
	
}
	}

字符流复制一个文本文件

package _File;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Copy {
public static void main(String[] args) throws IOException {
	FileReader fr  = new FileReader("_File.java");
	FileWriter fw = new FileWriter("C:\\copy.java");
	int len;
	char[] bos = new char[1024];
	while((len = fr.read(bos))!= -1) {
		fw.write(bos, 0, len);
	}
	fr.close();
	fw.close();
	
}
}

字节流:
OutputStream InputStream
用字节流复制一个图片 例子

二进制文件只能通过字节流复制 使用windows自带的记事本打开能看懂的东西可以用字符流复制 都不懂的只能用字节流复制

package _File;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Copy {
public static void main(String[] args) throws IOException {
	FileInputStream fs = new FileInputStream("1.jpg");
	FileOutputStream fo = new FileOutputStream("C:\\2.jpg");
	int len1 ;//存储读到的字节个数
	byte[] bys = new byte[1024];
	while((len1=fs.read(bys))!=-1) {
		fo.write(bys, 0, len1);
	}
	fs.close();
	fo.close();
}
}