0


JAVAFile类以及怎么在目录不存在的情况下创建文件

概述

  File类是

  1. java.io

包下代表

  1. 与平台无关

  1. 文件和目录

。File可以新建、删除、重命名文件和目录,但是不能访问文件内容本身,如果需要访问内容的话,需要通过

  1. 输入/输出流

进行访问。

  File类可以使用文件路径字符串创建File实例,路径既可以是绝对路径,也可以是相对路径。一般相对路径的话是由系统属性

  1. user.dir

指定,即为Java VM所在路径。

构造方法

通过给定的父抽象路径名和子路径名字符串创建一个新的File实例。

  1. File(File parent, String child);

通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。

  1. File(String pathname)

根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

  1. File(String parent, String child)

通过将给定的 file: URI 转换成一个抽象路径名来创建一个新的 File 实例。

File(URI uri)

方法清单

  1. File类常用方法
  2. public String getName():返回File对象锁表示的文件名或者目录名(若为目录,返回的是最后一级子目录)。
  3. public String getParent():返回此File对象所对应的路径名,返回String类型。
  4. public File getParentFile():返回此File对象的父目录,返回File类型。
  5. public String getPath():返回此File对象所对应的路径名,返回String类型。
  6. public boolean isAbsolute():判断File对象所对应的文件或者目录是否是绝对路径。
  7. public String getAbsolutePath():返回此File对象所对应的绝对路径,返回String类型。
  8. public String getCanonicalPath() throws IOException
  9. public File getCanonicalFile() throws IOException
  10. public File getAbsoluteFile():返回此File对象所对应的绝对路径,返回File类型。
  11. public boolean canRead():判断此File对象所对应的文件或目录是否可读。
  12. public boolean canWrite():判断此File对象所对应的文件或目录是否可写。
  13. public boolean canExecute():判断此File对象所对应的文件或目录是否可执行。
  14. public boolean exists():判断此File对象所对应的文件或目录是否存在。
  15. public boolean isDirectory():判断此File对象是否为目录。
  16. public boolean isFile():判断此File对象是否为文件。
  17. public boolean isHidden():判断此File对象是否为隐藏。
  18. public long lastModified():返回该File对象最后修改的时间戳,我们可以通过SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");进行格式化为时间日期展示。
  19. public boolean setLastModified(long time):设置该File对象最后修改的时间戳。
  20. public long length():返回该File对象的文件内容长度。
  21. public boolean createNewFile() throws IOException:当此File对象所对应的文件不存在时,该方法会新建一个该File对象所指定的新文件,如果创建成功,返回true;否则,返回false
  22. public boolean delete():删除File对象所对应的文件或目录,删除成功,返回true;否则,返回false
  23. public void deleteOnExit():Requests that the file or directory denoted by this abstract pathname be deleted when the virtual machine terminates.意思就是在VM关闭的时候,删除该文件或者目录,不像delete()方法一调用就删除。一般用于临时文件比较合适。
  24. public String[] list():列出File对象的所有子文件名和路径名,返回的是String数组。
  25. public File[] listFiles():列出File对象的所有子文件吗和路径名,返回的是File数组。
  26. public boolean mkdir():创建目录,并且只能在已有的父类下面创建子类,如果父类没有,那么就无法创建子类。
  27. public boolean mkdirs():也是创建目录,而且可以在父文件夹不存在的情况下,创建子文件夹,顺便将父文件夹也创建了,递归创建。
  28. public boolean renameTo(File dest):重命名此File对象所对应的文件或目录,如果重命名成功,则返回true;否则,返回false
  29. public boolean setReadOnly():设置此File对象为只读权限。
  30. public boolean setWritable(boolean writable, boolean ownerOnly):写权限设置,writable如果为true,允许写访问权限;如果为false,写访问权限是不允许的。ownerOnly如果为true,则写访问权限仅适用于所有者;否则它适用于所有人。
  31. public boolean setWritable(boolean writable):
  32. 底层实现是:通过setWritable(writable, true)实现,默认是仅适用于文件或目录所有者。
  33. public boolean setWritable(boolean writable) {
  34. return setWritable(writable, true);
  35. }
  36. public boolean setReadable(boolean readable, boolean ownerOnly):读权限设置,readable如果为true,允许读访问权限;如果为false,读访问权限是不允许的。ownerOnly如果为true,则读访问权限仅适用于所有者;否则它适用于所有人。
  37. public boolean setReadable(boolean readable):
  38. 底层实现是:通过setReadable(readable, true)实现,默认是仅适用于文件或目录所有者。
  39. public boolean setReadable(boolean readable) {
  40. return setReadable(readable, true);
  41. }
  42. public boolean setExecutable(boolean executable, boolean ownerOnly):执行权限设置,executable如果为true,允许执行访问权限;如果为false,执行访问权限是不允许的。ownerOnly如果为true,则执行访问权限仅适用于所有者;否则它适用于所有人。
  43. public boolean setExecutable(boolean executable):
  44. 底层实现是:通过setExecutable(executable, true)实现,默认是仅适用于文件或目录所有者。
  45. public boolean setExecutable(boolean executable) {
  46. return setExecutable(executable, true);
  47. }
  48. public static File[] listRoots():列出系统所有的根路径,可以直接通过File类进行调用。
  49. public long getTotalSpace():返回总空间大小,默认单位为字节。
  50. public long getFreeSpace():Returns the number of unallocated bytes in the partition,返回未被分配空间大小,默认单位为字节。
  51. public long getUsableSpace():Returns the number of bytes available to this virtual machine on the partition,返回可用空间大小,默认单位为字节。
  52. public Path toPath():返回该File对象的Path对象。
  53. public static File createTempFile(String prefix, String suffix) throws IOException:在默认存放临时文件目录中,创建一个临时空文件。可以直接使用File类来调用,使用给定前缀、系统生成的随机数以及给定后缀作为文件名。prefix至少3字节长。如果suffix设置为null,则默认后缀为.tmp
  54. public static File createTempFile(String prefix, String suffix, File directory):在指定的临时文件目录directort中,创建一个临时空文件。可以直接使用File类来调用,使用给定前缀、系统生成的随机数以及给定后缀作为文件名。prefix至少3字节长。如果suffix设置为null,则默认后缀为.tmp
  55. 获取目录所有文件名
  56. String[] list = file2.list();

在目录不存在的情况下创建文件

思路1

  1. //方法1
  2. String path = "F://aa//bb//c.txt";
  3. //先获取文件所在父路径
  4. File file=new File(path);
  5. File pafile=file.getParentFile();
  6. //不存在父路径就创建
  7. if(!pafile.exists())
  8. {
  9. pafile.mkdirs();
  10. }
  11. //创建文件
  12. try {
  13. //文件创建
  14. file.createNewFile();
  15. } catch (IOException e) {
  16. throw new RuntimeException(e);
  17. }

思路2

  1. //方法2
  2. String path1 = "F://aa//bb//css.txt";
  3. //先获取文件所在父路径
  4. File file2=new File(path1);
  5. File creatFile=new File(file2.getParentFile(), file2.getName());
  6. try {
  7. creatFile.createNewFile();
  8. } catch (IOException e) {
  9. throw new RuntimeException(e);
  10. }
  1. public static void FileCreate()
  2. {
  3. //方法1
  4. String path = "F://aa//bb//c.txt";
  5. //先获取文件所在父路径
  6. File file=new File(path);
  7. File pafile=file.getParentFile();
  8. //不存在父路径就创建
  9. if(!pafile.exists())
  10. {
  11. pafile.mkdirs();
  12. }
  13. //创建文件
  14. try {
  15. //文件创建
  16. file.createNewFile();
  17. } catch (IOException e) {
  18. throw new RuntimeException(e);
  19. }
  20. //方法2
  21. String path1 = "F://aa//bb//css.txt";
  22. //先获取文件所在父路径
  23. File file2=new File(path1);
  24. File creatFile=new File(file2.getParentFile(), file2.getName());
  25. try {
  26. creatFile.createNewFile();
  27. } catch (IOException e) {
  28. throw new RuntimeException(e);
  29. }
  30. }

标签: java jvm 前端

本文转载自: https://blog.csdn.net/qq_53679247/article/details/127005811
版权归原作者 桂亭亭 所有, 如有侵权,请联系我们删除。

“JAVAFile类以及怎么在目录不存在的情况下创建文件”的评论:

还没有评论