Java之IO流
2021-03-06 23:31
标签:src http trace class catch 概述 读取txt abs creat 是文件和目录路径名的抽象表示形式,Java中把文件或者目录都封装成File对象。创建File时不会在文件系统创建文件。 将一个字符串路径封装成File对象。 传入一个父级路径和子级路径。 传入一个File类型的父级路径和子级路径。 File的创建包含创建文件和创建文件夹。 当指定文件不存在时创建此文件并返回true,当文件已经存在时直接返回false。 当指定一级文件夹不存在时创建此文件夹并返回true,当文件夹已经存在时直接返回false。即指定的多级目录不存在时,只会创建一级的目录,子级目录不会被创建。因此推荐使用mkdirs来创建文件夹。 当指定多级文件夹中某一级不存在时创建此文件夹并返回true,当文件夹已经存在时直接返回false。 当指定的文件或文件夹存在时删除文件或单级空文件夹,删除成功返回true,文件/文件夹不存在或删除失败时返回false。 获取文件/目录的绝对路径,返回路径的字符串。 获取当前路径的父级目录,返回字符串 获取最后一层文件或文件夹的名称,返回字符串 以毫秒值返回最后修改时间 返回文件内容的字节数 以File对象的形式返回当前路径下所有的文件和文件夹的名称(绝对路径) 获取计算机中所有的盘符 将当前File对象所指向的路径修改为指定File所指向的路径(移动文件) 当文件或文件夹不存在时都返回false,否则返回true。 判断指定路径的文件或文件夹是否存在,存在返回true,否则返回false。多用于当文件或文件夹不存在时去再去创建。 第一种:判断文件夹是否存在,不存在就创建: 第二种:判断文件是否存在,不存在就创建: 判断指定的路径是否是绝对路径,是返回true,否则返回false 判断是否是目录,是返回true,否则返回false 判断是否是文件,是返回true,否则返回false 判断是否是隐藏文件/目录,是返回true,否则返回false 1)删除指定目录。要删除一个目录,必须先删除其子文件和子目录! 2)查询指定目录下以.txt结尾的文件 IO流, 详细的分类见下图,具体说明见后续章节。 只能读取纯文本文件内容。 输入流的顶层类,是一个抽象类。使用实现类FileReader来创建此输入流对象。 示例:读取txt的内容 输出流的顶层类,是一个抽象类。使用实现类FileWriter来创建此输出流对象。 示例:复制文本文件 Java之IO流 标签:src http trace class catch 概述 读取txt abs creat 原文地址:https://www.cnblogs.com/zys2019/p/14283074.html1.File类
1.1定义
1.2构造函数
1)File(String pathname)
File file=new File("D:\\Java\\1.txt");
2)File(String parent,String child)
File flie2=new File("D:\\Java", "1.txt");
3)File(File parent,String child)
File file3=new File(new File("D:\\Java"), "1.txt");
1.3File创建
1)createNewFile()
File file = new File("E:/temp/test.txt");
System.out.println(file.createNewFile());
2)mkdir()
3)mkdirs()
File file = new File("E:/temp/aaa/bbb/ccc");
System.out.println(file.mkdirs());
1.4File删除
1)delete()
File file = new File("E:/temp/aaa/bbb/ccc");
System.out.println(file.delete());
1.5File获取和修改名字
1)getAbsolutePath()
File file = new File("E:/tempFile/1.txt");
System.out.println(file.getAbsolutePath());//E:\tempFile\1.txt
2)getParent()
File file = new File("E:/tempFile/aaa/1.txt");
System.out.println(file.getParent());//E:\tempFile\aaa
3)getName()
//获取文件名
File file = new File("E:/tempFile/1.txt");
System.out.println(file.getName());//1.txt
//获取目录
File file2 = new File("E:/tempFile/bbb");
System.out.println(file2.getName());//bbb
4)lastModified()
5)length()
File file = new File("E:/tempFile/1.txt");
System.out.println(file.length());
6)listFiles()
File file = new File("E:/tempFile");
System.out.println(file.listFiles())
7)File.listRoots()
8)renameTo(File dest)
File file = new File("E:/tempFile/1.txt");
File file2= new File("E:/tempFile/bbb/2.txt");
//移动文件
file.renameTo(file2);
1.6File判断
1)exists()
File file = new File("E:/temp/aaa/bbb/ccc");
if (!file.exists()) {
file.mkdirs();
}
String filePath = "E:/tempFile/1.txt";
File file2 = new File(filePath);
//获取文件名
String fileName = file2.getName();
//获取文件的目录
String dirPath = filePath.substring(0, filePath.lastIndexOf(fileName));
File dirFile = new File(dirPath);
//判断目录是否存在,若目录不存在直接创建文件会报错
if (!dirFile.exists()) {
dirFile.mkdirs();
}
if (!file2.exists()) {
file2.createNewFile();
}
2)isAbsolute()
File file = new File("tempFile/1.txt");
System.out.println(file.isAbsolute());//false
File file2 = new File("E:/tempFile/1.txt");
System.out.println(file2.isAbsolute());//true
3)isDirectory()
File file = new File("E:/tempFile/bbb");
System.out.println(file.isDirectory());
4)isFile()
File file = new File("E:/tempFile/1.txt");
System.out.println(file.isFile());
5)isHidden()
1.7案例演示
public static void delete(File file) {
if (file.exists()) {
File[] listFiles = file.listFiles();
for (File f : listFiles) {
if (f.isFile()) {
f.delete();// 删除文件
} else if (f.isDirectory()) {
delete(f);
}
}
file.delete();// 删除目录
}
}
public static void query(File file) {
if(file.exists()) {
File[] listFiles = file.listFiles();
for (File f : listFiles) {
if(f.isFile()&& f.getName().endsWith(".txt")) {
System.out.println(f);
}else if(f.isDirectory()) {
query(f);
}
}
}
}
2. IO流概述
2.1概述
2.2分类
3.字符流
3.1输入流(Reader)
File file = new File("E:/tempFile/1.txt");
FileReader reader = new FileReader(file);
char b[] = new char[(int) file.length()];
reader.read(b);
reader.close();
System.out.println(new String(b));
3.2输出流(Writer)
Reader reader = null;
Writer writer = null;
try {
reader = new FileReader("E://tempFile/1.txt");
writer = new FileWriter("E://tempFile/copy.txt");
int len;
char[] chars = new char[1024];
while ((len = reader.read(chars)) != -1) {
writer.write(chars, 0, len);
}
writer.flush();
if (len == -1) System.out.println("文本文件复制成功");
} catch (Exception e) {
e.printStackTrace();
} finally {
//关闭资源
try {
reader.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}
4..字节流
5.高效流
6.准字输入输出流
7.打印流
8.对象操作流
下一篇:css三