本文共 3188 字,大约阅读时间需要 10 分钟。
在Java编程中,文件操作主要依赖于java.io.File包。这个包提供了丰富的文件操作API,方便开发者对文件和目录进行各种操作。
以下是File类中常见的方法及其作用:
getName()
返回由此抽象路径名表示的文件或目录的名称。getParent()
返回此抽抽路径名的父路径名的路径名字符串。若无父目录则返回null。getParentFile()
返回此抽路径名的父路径名的抽路径名。若无父目录则返回null。getPath()
将此抽路径名转换为相对路径名字符串。isAbsolute()
测试此路径名是否为绝对路径。getAbsolutePath()
返回此路径名的绝对路径字符串。canRead()
测试应用程序是否可以读取此路径名表示的文件。canWrite()
测试应用程序是否可以修改此路径名表示的文件。exists()
测试此路径名表示的文件或目录是否存在。isDirectory()
测试此路径名表示的文件是否为目录。isFile()
测试此路径名表示的文件是否为文件。lastModified()
返回此路径名表示的文件最后一次被修改的时间。length()
返回此路径名表示的文件的长度。createNewFile()
创建一个空文件,前提是不存在与此路径名相同的文件。delete()
删除此路径名表示的文件或目录。deleteOnExit()
请求在虚拟机终止时删除此路径名表示的文件或目录。list()
返回此路径名表示目录中的文件和目录名称数组。list(FilenameFilter filter)
返回满足指定过滤器的文件和目录名称数组。listFiles()
返回此路径名表示目录中的文件路径名数组。listFiles(FileFilter filter)
返回满足指定过滤器的文件路径名数组。mkdir()
创建指定目录,仅创建一个父目录。mkdirs()
创建指定目录及其所有必要的父目录。renameTo(File dest)
重命名此路径名表示的文件到指定路径名。setLastModified(long time)
设置此路径名指定文件或目录的最后修改时间。setReadOnly()
标记此路径名指定文件或目录为只读。createTempFile(String prefix, String suffix, File directory)
在指定目录中创建一个临时文件,使用给定前缀和后缀。createTempFile(String prefix, String suffix)
在默认临时文件目录中创建一个临时文件。compareTo(File pathname)
比较两个路径名的字母顺序。compareTo(Object o)
比较路径名与其他对象的字母顺序。equals(Object obj)
测试当前路径名与其他路径名是否相等。toString()
返回路径名的字符串表示。以下是基于上述API的实际操作示例:
【创建目录或文件夹】
String n_dir = "C:/Java";File n = new File(n_dir);if (!n.exists()) { n.mkdir(); // 只能创建一个文件夹} 【创建多级目录】
String m_dir = "C:/Java/csj";File m = new File(m_dir);if (!m.exists()) { m.mkdirs(); // 一次性创建多个文件夹} 【创建一个txt文件】
String m_file = "C:/Java/csj(nn.txt)";File f = new File(m_file);if (!f.exists()) { f.createNewFile(); // 创建一个空文件} 【获取文件信息】
String p_file = "C:/Java/csj(nn.txt)";File p = new File(p_file);if (p.exists()) { if (p.isFile()) { System.out.println("文件名:" + p.getName()); System.out.println("文件绝对路径:" + p.getAbsolutePath()); System.out.println("文件相对路径:" + p.getPath()); System.out.println("文件大小(字节数):" + p.length()); } if (p.isDirectory()) { System.out.println("这个文件夹存在!"); }} 【文件重命名】
String r_file = "C:/Java/csj(nn.txt)";File r = new File(r_file);if (r.exists()) { if (r.isFile()) { r.renameTo(new File("C:/Java/csj/csj.txt")); // 重命名成功! }} 【删除指定文件】
String d_file = "C:/Java/csj/csj.txt";File d = new File(d_file);if (d.exists()) { if (d.isFile()) { d.delete(); // 删除指定文件 System.out.println(d_file + "文件删除成功!"); }} 【读取文件内容】
String uu = "C:/Java/csj/csj.txt";FileInputStream read_file = new FileInputStream(uu);int len = read_file.available();System.out.println("文件【" + uu + "】的字节数是" + len);int m_number;while ((m_number = read_file.read()) != -1) { System.out.print(m_number + "_");}// 读取文本文件内容System.out.println("----- 读取文本文件内容 -----");FileReader f_Reader = new FileReader(uu);char[] chars = new char[len];f_Reader.read(chars, 0, len);for (char aaa : chars) { System.out.print(aaa);} 【向文本文件写入内容】
String w = "C:/Java/csj/csj.txt";FileOutputStream w_file = new FileOutputStream(w, true); // 向文件中追加内容String m_write = "我是中国人!";byte[] mess = m_write.getBytes();w_file.write(mess, 0, mess.length);w_file.close();
以上示例展示了如何利用Java的File类进行文件和目录的基本操作,涵盖了创建、重命名、删除、读取和写入等常用功能。
转载地址:http://wykn.baihongyu.com/