File类:
file类是io包中唯一代表磁盘文件本身的对象。file类定义了一些与平台无关的方法操作文件,可以通过调用File类中的方法,实现创建、删除、重命名文件等。File类的对象主要用来获取文件本身的一些信息,如文件所在的目录、文件的长度、文件读写权等。数据流可以将数据写入到文件中,而文件也是数据流最常用的数据媒体。
文件的创建与删除:
创建文件对象的三种构造方法:
a、File(String pathname[指的是路径名称包含文件名]):该构造方法通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。
File file = new File("d:/1.txt");
b、File(String parent ,Stringchild):该构造方法根据定义的父路径和子路径字符串(包含文件名)创建一个新的File对象。
File file = new File(父路径字符串,子路径字符串)
c、File(File f,String child):该构造方法根据parent抽象路径名和child路径名字符串创建一个新File实例
File file = new File(父路径对象,字路径字符串)
对于Microsoft Windows 平台,包含盘符的路径名前缀由驱动器和一个":"组成,如果路名是绝对路径名,还可能后跟"\\".
/**
*
*/
package org.zst.File;
import java.io.File;
/**
* @author:zsyht
* @date:2017-11-22下午2:54:34
*/
public class Test1 {
public static void main(String[] args) {
File file = new File("D:/myword","test.txt");
if(file.exists()){
file.delete();
System.out.println("文件已经删除");
}else{
try{
file.createNewFile();
System.out.println("文件已经创建");
}catch(Exception e){
e.printStackTrace();
}
}
}
}
/**
*
*/
package org.zst.File;
import java.io.File;
import java.io.IOException;
/**
* @author:zsyht
* @date:2017-11-22下午3:09:29
*/
public class Test2 {
public static void main(String[] args) throws IOException {
File file = new File("D:\\zst");
System.out.println(file.mkdir());
File file2 = new File("D:\\zst","hi.txt");
System.out.println(file2.createNewFile());//createNewFile该方法在编译时期本身就会抛出异常
}
}
public boolean delete()删除此抽象路径名表示的文件或目录
注意事项:
删除的方法不能删除带有目录或者文件的文件夹
删除多个目录,必须逐一删除!
/**
*
*/
package org.zst.File;
import java.io.File;
/**
* @author:zsyht
* @date:2017-11-22下午4:52:46
*/
public class Test6 {
public static void main(String[] args) {
//在当前项目下创建aaa\\bbb\\ccc
File file = new File("D:/aaa\\bbb\\ccc") ;
System.out.println("mkdirs:"+file.mkdirs());
//需求:要删除当前项目下的a.txt文件
File file2 = new File("a.txt") ;
System.out.println("delete:"+file2.delete());
//需求:删除aaa\\bbb\\ccc
File file3 = new File("D:/aaa\\bbb\\ccc") ;
System.out.println("delte:"+file3.delete());
File file4 = new File("D:/aaa\\bbb") ;
System.out.println(file4.delete());
File file5 = new File("D:/aaa") ;
System.out.println(file5.delete());
}
}
获取文件信息:
方法 | 说明 |
getName() | 获取文件的名称 |
canRead() | 判断文件是否是可读的 |
canWrite() | 判断文件是否可被 写入 |
exits() | 判断文件是否存在 |
length() | 获取文件的长度(以字节为单位) |
getAbsolutePath() | 获取文件的绝对路径 |
getParent() | 获取文件的父路径 |
isFile() | 判断文件是否存在 |
isDirectory() | 判断文件是否是一个目录 |
isHidden() | 判断文件是否是隐藏文件 |
lastModified() | 获取文件最后修改时间 |
/**
*
*/
package org.zst.File;
import java.io.File;
/**
* @author:zsyht
* @date:2017-11-22下午4:22:25
*/
public class Test3 {
public static void main(String[] args) {
File file = new File("D:/zst","hi.txt");
if(file.exists()){
String name =file.getName();
long length = file.length();
boolean hidden =file.isHidden();
System.out.println("文件名称:"+name);
System.out.println("文件长度:"+length);
System.out.println("该文件是隐藏文件吗:"+hidden);
}
else{
System.out.println("该文件不存在。");
}
}
}
/**
*
*/
package org.zst.File;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author:zsyht
* @date:2017-11-22下午4:34:41
*/
public class Test4 {
public static void main(String[] args) {
File file = new File("hi.txt") ;
//绝对路径
System.out.println(file.getAbsolutePath());
//相对路径
System.out.println(file.getPath());
System.out.println(file.length());//描述文件内容 长度
System.out.println(file.lastModified());//时间毫秒值
//long---->Date---->String"日期文本格式"
//创建日期对象
Date d = new Date() ;
//创建一个SimpleDateFormat对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss") ;
//格式化
String dateStr = sdf.format(d) ;
System.out.println(dateStr);
}
}
File类中的重命名功能:
public boolean renameTo(File dest):重新命名此抽象路径名表示的文件。
1)使用这个功能:当两个抽象路径一致,那么只是重命名
2)当这两个抽象路径不一致,有剪切并且改名了
IO流:设备和设备之间的数据传输(设备和设备指的是硬盘和内存之间的数据传输)
IO流的分类:
按流的方向分:a、输入流:读数据
b、输出流:些数据
按数据类型分:a、字节流
字节输入流:InPutStream
字节输出流:OutPutSream
b、字符流
字符输入流:Reader
字符输出流:Write