首页 / JAVA / JavaIO学习之File类
JavaIO学习之File类
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaIO学习之File类,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含7278字,纯文字阅读大概需要11分钟。
内容图文
![JavaIO学习之File类](/upload/InfoBanner/zyjiaocheng/1137/94030d1e88fd4ac2aa570d9c3ac351b8.jpg)
File类
作用:
1. 用来将文件或者文件夹封装成对象。
2. 方便对文件与文件夹的属性进行操作。
3. File对象可以作为参数传递给流的构造函数。
IO流的流对象只能操作设备上的数据。
文件属性的操作和文件夹的创建,删除由File类完成。
File类
static String |
pathSeparator
|
|
static char |
pathSeparatorChar
|
|
static String |
separator
|
|
static char |
separatorChar
|
|
File
(File parent, String child) |
|
|
|
||
File
(String parent, String child) |
|
|
|
方法摘要 |
|
boolean |
canExecute
() |
boolean |
canRead
() |
boolean |
canWrite
() |
int |
|
boolean |
createNewFile
() |
static File |
createTempFile
(String prefix, String suffix) |
static File |
createTempFile
(String prefix, String suffix, File directory) |
boolean |
delete
() |
void |
deleteOnExit
() |
boolean |
|
boolean |
exists
() |
getAbsoluteFile
() |
|
getAbsolutePath
() |
|
getCanonicalFile
() |
|
getCanonicalPath
() |
|
long |
getFreeSpace
() |
getName
() |
|
getParent
() |
|
getParentFile
() |
|
getPath
() |
|
long |
getTotalSpace
() |
long |
getUsableSpace
() |
int |
hashCode
() |
boolean |
isAbsolute
() |
boolean |
isDirectory
() |
boolean |
isFile
() |
boolean |
isHidden
() |
long |
lastModified
() |
long |
length
() |
String [] |
list
() |
String [] |
list
(FilenameFilter filter) |
File [] |
listFiles
() |
File [] |
listFiles
(FileFilter filter) |
File [] |
listFiles
(FilenameFilter filter) |
static File [] |
listRoots
() |
boolean |
mkdir
() |
boolean |
mkdirs
() |
boolean |
|
boolean |
setExecutable
(boolean executable) |
boolean |
setExecutable
(boolean executable, boolean ownerOnly) |
boolean |
setLastModified
(long time) |
boolean |
setReadable
(boolean readable) |
boolean |
setReadable
(boolean readable, boolean ownerOnly) |
boolean |
setReadOnly
() |
boolean |
setWritable
(boolean writable) |
boolean |
setWritable
(boolean writable, boolean ownerOnly) |
toString
() |
|
toURI
() |
|
toURL
() |
/**
* File的constructor演示
*/
package cn.test.filedemo;
import java.io.File;
public class FileDemo {
public static void main ( String [] args) {
//File类构造函数演示
constructorDemo ();
}
private static void constructorDemo () {
String pathname = "a.txt" ;
//讲一个已存在的,或者不存在的文件或者目录封装成对象
File file1 = new File (pathname );
File file2 = new File ( "c:\\" , "a.txt" );
File file3 = new File ( "c:\\" );
File file4 = new File (file3, "a.txt" );
//文件路径分隔符的使用
File f5 = new File ( "c:" + File . separator + "abc" + File . separator + "a.txt" );
}
}
File的方法演示
/**
* File的方法演示
* 1.获取
* 1.1获取文件名称 getName()
* 1.2获取文件路径 getAbsolutePath()与getPath()
* 1.3获取文件大小 length()
* 1.4获取文件的修改时间 lastModified()
* 2.创建与删除
* 创建文件
* 3.判断
* 要删除文件,需要先判断文件是否存在,判断文件是否可以读写等。
* 4.文件重命名
* 5.文件系统根目录 可以知道可用的磁盘标示和可用空间
* 6.获取目录内容
*
*/
package cn.test.filedemo;
import java.io.File;
import java.util.Date;
public class FileMethodDemo {
public static void main ( String [] args) throws Exception {
//getDemo();
//mkdir();
//judge();
//rename();
//listRoots();
list ();
}
/*获取到的是当前目录下的所有文件夹和文件,包含隐藏文件
调用list方法的File对象中封装的必须是目录
否则会发生空指针异常 java.lang.NullPointerException
如果是隐藏目录,也会出现空指针异常
如果目录存在但是没有内容,会返回一个长度为0的数组
*/
private static void list () {
// TODO Auto-generated method stub
File file = new File ( "d:\\" );
String []names = file. list ();
for ( String name : names) {
System . out . println (name);
}
}
//获取文件系统根目录
private static void listRoots () {
// TODO Auto-generated method stub
//可以获取到电脑上的可操作磁盘标示
File []files = File . listRoots ();
for ( File file : files) {
/*
* C:\
D:\
E:\
F:\
*
*/
System . out . println (file);
}
File file = new File ( "c:\\" );
System . out . println (file. getUsableSpace ());
//获取某个磁盘可用空间
System . out . println (file. getFreeSpace ());
System . out . println (file. getTotalSpace ());
}
//文件重命名
private static void rename () {
// TODO Auto-generated method stub
File file = new File ( "aa.txt" );
File file2 = new File ( "cc.txt" );
boolean rename = file. renameTo (file2);
}
//文件判断
private static void judge () {
// TODO Auto-generated method stub
//最好判断文件是否存在,在对文件进行操作
File f = new File ( "aa.txt" );
//判断文件是否可读
boolean read = f. canRead ();
//判断文件是否可以写
boolean write = f. canWrite ();
//判断文件是否可执行
boolean execute = f. canExecute ();
//判断是否是文件
boolean file = f. isFile ();
//判断文件是否是隐藏文件
boolean hidden = f. isHidden ();
//判断是否是目录
boolean directory = f. isDirectory ();
//是否是绝对路径
boolean abs = f. isAbsolute ();
}
//创建文件和删除
private static void mkdir () throws Exception {
// TODO Auto-generated method stub
File file = new File ( "bb.txt" );
//创建新文件,如果文件不存在,创建文件,如果文件存在, 则不创建文件。
boolean b = file. createNewFile ();
//删除文件,删除成功返回true否则返回false
//window的的删除是从里向外删除的,如果文件正在被流使用,则无法删除该文件
boolean delete = file. delete ();
//凡是以can或者is开头的方法,都是作为判断的方法
//创建目录
boolean dir = file. mkdir ();
}
//文件属性的获取
private static void getDemo () {
File file = new File ( "e:\\java\\aa.txt" );
//获取文件名
String name = file. getName ();
System . out . println (name);
//获取文件所在的绝对路径
String abspath = file. getAbsolutePath ();
System . out . println (abspath);
//获取文件所在相对路径
String path = file. getPath ();
System . out . println (path);
//获取文件大小
long len = file. length ();
//获取文件最后修改时间
long time = file. lastModified ();
Date date = new Date (time);
}
}
//获取指定文件目录中某一类型的文件
package cn.test.filedemo;
import java.io.File;
import java.io.FilenameFilter;
/**
* 获取指定文件目录下指定文件类型的文件
* 1.实现FilenameFilter接口
* 2.重写accept方法
accept方法会被调用很多次
*
*/
public class FilterByName implements FilenameFilter {
@Override
public boolean accept ( File dir, String name) {
// TODO Auto-generated method stub
return name. endsWith ( ".java" );
}
public static void main ( String [] args) {
File dir = new File ( "c:\\" );
String [] names = dir. list ( new FilterByName ());
for ( String name : names) {
System . out . println ( name );
}
}
}
Flie文件的过滤器很重要
原文:http://blog.csdn.net/ning_xian_hong/article/details/45741177
内容总结
以上是互联网集市为您收集整理的JavaIO学习之File类全部内容,希望文章能够帮你解决JavaIO学习之File类所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。