流年似水博客开通了,本站主要是写关于Web和大数据方面内容,正在更新中,欢迎大家光临!
  1. 文章:97 篇
  2. 总浏览:68,595 次
  3. 评论:22条
  4. 最后更新:2020-06-08
  5. 分类目录:39 个

Java之File类详解

Java l, xy 344℃ 0评论
文章目录[隐藏]

File

  1.       File理解

1           file类是对磁盘中文件和文件夹的抽象

2           file类对象可以表示磁盘中没有的文件或者文件夹

  1.       常用方法

1           构造方法:

1)         public File(String filename) 文件路径:可以是相对路径或者绝对路径

2)         public File(String parent,String child)

3)         public File(File parent,String child)

4)         public File(URI url) 根据URI创建文件


@Test
public void test() throws URISyntaxException {
File file = new File(new URI("file:/D:/test/Test.java"));
//true
System.out.println(file.exists());
}

2           获取

1)         URI toURI()


@Test
public void test() throws URISyntaxException {
File file = new File("D:/test/Test.java");
//file:/D:/test/Test.java
System.out.println(file.toURI());
}

2)         long lastModified() 返回最后修改的毫秒数(距离1970-01-01 00:00:00的毫秒数)

3)         long length() : 返回文件的大小,如果是文件夹返回0L

4)         String[] list() : 获取文件夹下的所有文件名(包括文件名、文件夹名),如果是文件调用,则返回null

5)         String[] list(FilenameFilter filter) : 通过filter过滤文件名(filter两个参数 【this,fileName】)

6)         File[] listFiles() : 返回文件夹下的文件对象

7)         File[] listFiles(FilenameFilter filter) : 通过filter过滤返回file[]数组

8)         File[] listFiles(FileFilter filter) : 通过filter过滤文件,filter一个参数(filte

9)         String getName(): 获取文件或者文件夹的名称,只包含名称。不包含路径。

10)     String getParent(): 获取文件或者文件夹上一级的路径,若为相对路径,并且表示文件的上一级目录没有写出,则返回null

11)     File getParentFile() : 返回文件或者文件夹的上一级,如果不存在返回null(相对路径的时候容易返回null



File file = new File("test.xml");
//true ---null
System.out.println(file.exists() + "---" +file.getParentFile());

12)     String getPath(): 返回路径,这里的路径指定是与FIle构造函数中传递的路径相同

13)     String getAbsolutePath() : 获取绝对路径

14)     File getAbsoluteFile() : 获取绝对的文件

15)     String getCanonicalPath()

16)     File getCanonicalFile()

17)     long getTotalSpace()

18)     long getFreeSpace()

19)     long getUsableSpace()

20)     Path toPath()

3           判断

1)         boolean canRead() : 返回结果可能不准确

2)         boolean canWrite(): 返回结果可能不准确

3)         boolean exists() : 文件是否存在

4)         boolean isAbsolute() :判断是否是绝对路径

5)         boolean isDirectory()

6)         boolean isFile()

7)         boolean isHidden()

8)         boolean canExecutable()

4           创建

1)         boolean createNewFile() throws IOException :创建一个新文件。注意:不能创建文件夹,如果路径不存在,则抛出异常

2)         boolean mkdir() : 只能创建最后一级是抽象路径的文件夹

3)         boolean mkdir():能够创建多级抽象路径的文件夹

5           删除

1)         boolean delete() :删除文件夹或者文件。如果文件夹下有文件,则删除失败。

2)         void deleteOnExit() : 在虚拟机退出的时候删除文件或者文件夹

6           修改

1)         boolean renameTo(File dest) : 给文件重命名为dest名称,如果destnull,抛出空指针异常


@Test
public void renameToTest() {
//路径不同,文件名称不同,则是移动
// File file = new File("D:\\test\\T\\Test.java");
// file.renameTo(new File("D:\\test\\QQ.java"));
//路径相同,文件名不同,则是重命名
// File file = new File("D:\\test\\QQ.java");
// file.renameTo(new File("D:\\test\\Test.java"));

}

2)         boolean setLastModified(Long time) : 设置file最后修改时间

3)         boolean setReadOnly() : 设置file只读

4)         boolean setWritable(boolean writable,boolean ownerOnly)

5)         boolean setWritable(boolean writable)

6)         boolean setReadable(boolean readable,boolean ownerOnly)

7)         boolean setReadable(boolean readable)

8)         boolean setExecutable(boolean executable,boolean ownerOnly)

9)         boolean setExecutable(boolean executable)

7           静态方法

1)         static File[] listRoots()  : 获取当前系统的所有盘符

2)         static File createTempFile(String prefix,String suffix,File directory) : 在指定的目录(directory)下生成文件,文件名为(prefix +随机数 + suffix);如果传入suffixnull,则生成格式为(prefix + 随机数 +.temp

3)         static File createTempFile(String prefix,String suffix)

  1.       字段

1           分割符(\


/**
* The system-dependent default name-separator character. This field is
* initialized to contain the first character of the value of the system
* property <code>file.separator</code>. On UNIX systems the value of this
* field is <code>'/'</code>; on Microsoft Windows systems it is <code>'\\'</code>.
*
* @see java.lang.System#getProperty(java.lang.String)
*/
public static final char separatorChar = fs.getSeparator();

/**
* The system-dependent default name-separator character, represented as a
* string for convenience. This string contains a single character, namely
* <code>{@link #separatorChar}</code>.
*/
public static final String separator = "" + separatorChar;

2           路径分隔符 (:)


/**
* The system-dependent path-separator character. This field is
* initialized to contain the first character of the value of the system
* property <code>path.separator</code>. This character is used to
* separate filenames in a sequence of files given as a <em>path list</em>.
* On UNIX systems, this character is <code>':'</code>; on Microsoft Windows systems it
* is <code>';'</code>.
*
* @see java.lang.System#getProperty(java.lang.String)
*/
public static final char pathSeparatorChar = fs.getPathSeparator();

/**
* The system-dependent path-separator character, represented as a string
* for convenience. This string contains a single character, namely
* <code>{@link #pathSeparatorChar}</code>.
*/
public static final String pathSeparator = "" + pathSeparatorChar;

 

 

转载请注明:流年似水 » Java之File类详解

喜欢 (0)or分享 (0)

Warning: copy(https://cn.gravatar.com/avatar/?s=54&d=%2Fwp-content%2Fthemes%2Fyusi1.0%2Fimg%2Fdefault.png&r=g): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /usr/share/nginx/html/timewentby/wp-content/themes/yusi1.0/functions.php on line 239

Warning: copy(/wp-content/themes/yusi1.0/img/default.png): failed to open stream: No such file or directory in /usr/share/nginx/html/timewentby/wp-content/themes/yusi1.0/functions.php on line 243
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址