java语言的输入输出操作是借助于输入输出包java.io来实现的,按传输方向分为输入流与输出流,从外设传递到应用程序的流为输入流,将数据从应用程序输入到外设的流为输出流。
File类的构造方法:
1、File类创建对象:
利用前三个构造方法创建File类对象:
import java.io.File; public class FileDemo { public static void main(String[] args) { String path1 = "E:\\IO流\\java1";// 第一个参数为对象,第二个为路径 File f1 = new File(path1); File f11 = new File(f1, "001.txt"); System.out.println(f11); String path2 = "E:\\IO流\\java2";// 要写两个斜线,第一条把第二条转义 File f2 = new File(path2); System.out.println(f2); String path3 = "E:\\IO流\\java3"; String path4 = "002.txt"; File f3 = new File(path3, path4);// 将一个路径分为两部分,灵活性增强 System.out.println(f3); } }
2、File类的常用方法:
(1)返回路径名、文件名和文件大小
package pers.pers.file; import java.io.File; public class FileDemo { public static void main(String[] args) { String path = "E:\\IO流\\java\\0、实验\\实验二\\汇编语言标志位(CF)及一些常用指令.pdf";// 第一个参数为对象,第二个为路径 File f1 = new File(path);//创建File类的对象 String absPath=f1.getAbsolutePath();//返回绝对路径(即一个文件的全部路径) System.out.println(absPath); String name=f1.getName();//返回此路径下的文件或目录名称 System.out.println(name); String stringname=f1.getPath();//将抽象路径名转换为字符串 System.out.println(stringname); long size=f1.length(); System.out.println(size);//获取文件大小(字节),不能获取文件夹的大小 } }
(2)创建文件:
package pers.pers.file; import java.io.File; import java.io.IOException; public class CreatFile { public static void main(String[] args) throws IOException { File file = new File("E:\\IO流\\java\\IO.txt"); System.out.println(file.createNewFile()); } }
程序运行后,在java文件夹下出现IO.txt文件。
(3)删除路径下的文件或目录:
package pers.pers.file; import java.io.File; import java.io.IOException; public class CreatFile { public static void main(String[] args) throws IOException { File file = new File("E:\\IO流\\java\\IO.txt"); System.out.println(file.delete()); } }
程序运行后java目录下的IO.txt文件消失。
(4)路径下的文件或目录是否存在
package pers.pers.file; import java.io.File; import java.io.IOException; public class CreatFile { public static void main(String[] args) throws IOException { File file = new File("E:\\IO流\\java"); System.out.println(file.exists()); } }
(5)测试路径下的文件是否为目录:
package pers.pers.file; import java.io.File; import java.io.IOException; public class CreatFile { public static void main(String[] args) throws IOException { File file = new File("E:\\IO流\\java"); System.out.println(file.isDirectory()); } }
(6)测试路径下的文件是否是一个标准文件(文件可以,文件夹不行):
package pers.pers.file; import java.io.File; import java.io.IOException; public class CreatFile { public static void main(String[] args) throws IOException { File file = new File("E:\\IO流\\java\\1.txt"); System.out.println(file.isFile()); } }
(7)创建目录:
package pers.pers.file; import java.io.File; import java.io.IOException; public class CreatFile { public static void main(String[] args) throws IOException { File file = new File("E:\\IO流\\java\\2.txt"); System.out.println(file.mkdir()); } }
3、获取路径下的文件:
package pers.pers.file; import java.io.File; public class FileDemo1 { public static void main(String[] args) { File dir = new File("E:\\IO流\\java"); //返回字符串数组,获取的是目录下的当前的文件以及文件夹的名称。 String[] names = dir.list(); for(String name : names){ System.out.println(name); } //获取目录下当前文件以及文件对象 File[] files = dir.listFiles(); for(File file : files){ System.out.println(file); } } }