对于输入输出的理解:
输入输出,以程序为参考点,外部数据进入程序,通过输入流完成。程序将数据给外部设备,通过输出流完成。
文件Io的操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
//获取文件
File file= new File( "d:/a.txt" );
file.getName()--String //文件名
file.getPath()--String //路径
file.getAbsolutePath()--String //全路径
file.getParent()--String //所在文件夹
file.exists()--Boolean //是否存在 是true否false
file.isFile()--Boolean //是否是文件
file.isDirectory()--Boolean //是目录吗
file.isAbsolute()--Boolean是全路径吗
file.canRead()--Boolean //可读?
file.canWrite()--Boolean //可写?
file.isHidden()--Boolean //是否隐藏的?
file.length()-- long //大小
System.out.println( new Date(file.lastModified())); //最后修改日期
返回:Tue Feb 07 11 : 15 : 09 CST 2017
|
创建删除文件:
1
2
3
|
file.createNewFile()--Boolean; //直接创建不会覆盖原来的文件
file.delete()--Boolean; //删除文件
|
迭代输出文件下所有的文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
public class PrintFiles {
String str= "" ;
public void Get(File dir){
System.out.println(str+dir.getName());
str+= " | " ;
print(dir,str);
}
public void print(File dir,String str){
File[] files=dir.listFiles();
for (File file :files) {
if (file.isFile()) {
System.out.println(str + file.getName());
}
if (file.isDirectory()){
Get(file);
}
}
}
public static void main(String[] args) {
PrintFiles p= new PrintFiles();
File file= new File( "C:\\Users\\xuezhendong\\Desktop\\新建文件夹 (2)" );
p.Get(file);
}
}
|
查找特定文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
File dir = new File( "D:" );
File[] files=dir.listFiles( new FileFilter() { //找特定的文件
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith( "txt" );endwith表示后缀
}
});
for (File file :
files) {
System.out.println(file);
}
File[] files=dir.listFiles( new FilenameFilter() {
@Override
public boolean accept(File dir, String name) { //dir文件所在的路径
//name文件名
return !name.endsWith( "a" );
}
});
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://www.cnblogs.com/neu-student/p/6374932.html