呼和浩特网站建设网络公司,店面设计怎么样,wordpress怎么使用插件下载,如何建立网站赚钱当前需求#xff0c;希望进行游戏可以保存游戏进度#xff0c;可以将游戏的进度保存到一个文本文件#xff0c;每一次打完游戏更新文本内容#xff0c;下一次打游戏读取游戏进度#xff0c;这里就涉及到两个知识IO流和File的知识。
File类
概述
java.io.File 类是文件…当前需求希望进行游戏可以保存游戏进度可以将游戏的进度保存到一个文本文件每一次打完游戏更新文本内容下一次打游戏读取游戏进度这里就涉及到两个知识IO流和File的知识。
File类
概述
java.io.File 类是文件和目录路径名的抽象表示主要用于文件和目录的创建、查找和删除等操作File对象表示一个路径可以是文件夹的路径也可以是文件的路径。无论该路径下是否存在文件或者目录都不影响File对象的创建。不同的操作系统有不同的分隔符使用构造方法进行路径拼接是一个保险的方式。
构造方法
public File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例通过文件路径创建文件对象这样做的目的就是通过对象调用一些方法去完成一些操作比如File.delete()删除当前文件。public File(String parent, String child) 从父路径名字符串和子路径名字符串创建新的 File实例。public File(File parent, String child) 从父抽象路径名和子路径名字符串创建新的 File实例。构造举例代码如下
// 文件路径名
String pathname D:\\aaa.txt;
File file1 new File(pathname);
file1.delete() // 通过创建对象去调用一些方法,执行这一步就会删除aaa.txt// 文件路径名
String pathname2 D:\\aaa\\bbb.txt;
File file2 new File(pathname2); // 通过父路径和子路径字符串String parent d:\\aaa;String child bbb.txt;File file3 new File(parent, child);// 通过父级File对象和子路径字符串
File parentDir new File(d:\\aaa);
String child bbb.txt;
File file4 new File(parentDir, child);常用方法 学习方法不需要去背只需要使用的时候有印象通过idea的提示写出即可。 思考为什么会有这些方法它一定有原因 获取功能的方法 public String getAbsolutePath() 返回此File的绝对路径名字符串。 public String getPath() 将此File转换为路径名字符串。 public String getName() 返回由此File表示的文件或目录的名称。 public long length() 返回由此File表示的文件的长度。 方法演示代码如下
public class FileGet {public static void main(String[] args) {File f new File(d:/aaa/bbb.java); System.out.println(文件绝对路径:f.getAbsolutePath());System.out.println(文件构造路径:f.getPath());System.out.println(文件名称:f.getName());System.out.println(文件长度:f.length()字节);File f2 new File(d:/aaa); System.out.println(目录绝对路径:f2.getAbsolutePath());System.out.println(目录构造路径:f2.getPath());System.out.println(目录名称:f2.getName());System.out.println(目录长度:f2.length());}
}
输出结果
文件绝对路径:d:\aaa\bbb.java
文件构造路径:d:\aaa\bbb.java
文件名称:bbb.java
文件长度:636字节目录绝对路径:d:\aaa
目录构造路径:d:\aaa
目录名称:aaa
目录长度:4096绝对路径和相对路径
绝对路径从盘符开始的路径这是一个完整的路径。相对路径相对于项目目录的路径这是一个便捷的路径开发中经常使用。
public class FilePath {public static void main(String[] args) {// D盘下的bbb.java文件File f new File(D:\\bbb.java);System.out.println(f.getAbsolutePath());// 项目下的bbb.java文件File f2 new File(bbb.java);System.out.println(f2.getAbsolutePath());}
}
输出结果
D:\bbb.java
D:\idea_project_test4\bbb.java判断功能的方法
public boolean exists() 此File表示的文件或目录是否实际存在。public boolean isDirectory() 此File表示的是否为目录。public boolean isFile() 此File表示的是否为文件。
方法演示代码如下
public class FileIs {public static void main(String[] args) {File f new File(d:\\aaa\\bbb.java);File f2 new File(d:\\aaa);// 判断是否存在System.out.println(d:\\aaa\\bbb.java 是否存在:f.exists());System.out.println(d:\\aaa 是否存在:f2.exists());// 判断是文件还是目录System.out.println(d:\\aaa 文件?:f2.isFile());System.out.println(d:\\aaa 目录?:f2.isDirectory());}
}
输出结果
d:\aaa\bbb.java 是否存在:true
d:\aaa 是否存在:true
d:\aaa 文件?:false
d:\aaa 目录?:true创建删除功能的方法
public boolean createNewFile() 当且仅当具有该名称的文件尚不存在时创建一个新的空文件。public boolean delete() 删除由此File表示的文件或目录。public boolean mkdir() 创建由此File表示的目录。public boolean mkdirs() 创建由此File表示的目录包括任何必需但不存在的父目录。
方法演示代码如下
public class FileCreateDelete {public static void main(String[] args) throws IOException {// 文件的创建File f new File(aaa.txt);System.out.println(是否存在:f.exists()); // falseSystem.out.println(是否创建:f.createNewFile()); // trueSystem.out.println(是否存在:f.exists()); // true// 目录的创建File f2 new File(newDir); System.out.println(是否存在:f2.exists());// falseSystem.out.println(是否创建:f2.mkdir()); // trueSystem.out.println(是否存在:f2.exists());// true// 创建多级目录File f3 new File(newDira\\newDirb);System.out.println(f3.mkdir());// falseFile f4 new File(newDira\\newDirb);System.out.println(f4.mkdirs());// true// 文件的删除System.out.println(f.delete());// true// 目录的删除System.out.println(f2.delete());// trueSystem.out.println(f4.delete());// false}
}API中说明delete方法如果此File表示目录则目录必须为空才能删除。