操作文件的类File
在整个io包中,唯一与文件本身有关系的类就是File,使用File类可以进行创建或删除文件等常用操作,要使用File类,则首先要观察File类的构造方法,如下:
public File (String pathname) -->实例化File类时,必须设置好路径
路径如,d:\\test.tst
1.创建一个新文件
File类的对象实例化完成之后,就可以使用CreatNewFile创建一个新的文件,但是此方法使用了throws关键字所以在使用中,必须使用try..cath进行异常处理
范例:创建新文件
package test2;
import java.io.File;
import java.io.IOException;
public class CreatNewFile {
public static void main(String[] args) {
File f = new File("d:\\test.txt");
try {
f.createNewFile(); // 根据以上路径创建新文件
} catch (IOException e) {
e.printStackTrace();
}
}
}
结果:
在D盘中创建相应的文件
注意:
根据操作系统不同,路径的分隔符表示不一样,例如:
window 用 “\”
linux 用 "/"
package test2;
import java.io.File;
import java.io.IOException;
public class CreatNewFile {
public static void main(String[] args) {
// File f = new File("d:\\test.txt");
String path = "d:" + File.separator + "test1.txt";// 拼凑出可以适应操作系统的路径
File f = new File(path);
try {
f.createNewFile(); // 根据以上路径创建新文件
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.删除一个指定的文件
File类中的delete()方法
范例:删除文件
package test2;
import java.io.File;
import java.io.IOException;
public class CreatNewFile {
public static void main(String[] args) {
// File f = new File("d:\\test.txt");
String path = "d:" + File.separator + "test1.txt";// 拼凑出可以适应操作系统的路径
File f = new File(path);
// f.createNewFile(); // 根据以上路径创建新文件
f.delete();
}
}
File类提供一个exists()方法,可以判断文件是否存在,
package test2;
import java.io.File;
import java.io.IOException;
public class CreatNewFile {
public static void main(String[] args) {
// File f = new File("d:\\test.txt");
String path = "d:" + File.separator + "test1.txt";// 拼凑出可以适应操作系统的路径
File f = new File(path);
// f.createNewFile(); // 根据以上路径创建新文件
if (f.exists()) {
f.delete();
} else {
System.out.println("文件不存在");
}
}
}
3.综合实例:创建和删除文件的操作
package test2;
import java.io.File;
import java.io.IOException;
public class CreatNewFile {
public static void main(String[] args) {
// File f = new File("d:\\test.txt");
String path = "d:" + File.separator + "test1.txt";// 拼凑出可以适应操作系统的路径
File f = new File(path);
// f.createNewFile(); // 根据以上路径创建新文件
if (f.exists()) {
f.delete();
} else {
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
4.可以用mkdir创建文件夹
5. 列出指定目录的全部文件
如果现在给一个目录,则可以直接列出目录中的内容,在File类中定义了如下两个列出文件夹内容的方法
1.public String[] list():列出全部名称,返回一个字符串数组
2.public File[] listFiles():列出完整的路径,返回一个File对象数组
范例:使用list()方法列出一个目录中的全部内容
package test2;
import java.io.File;
public class Filelist {
public static void main(String[] args) {
File f = new File("d:" + File.separator);// 给出一个路径
String str[] = f.list();// 列出给定目录中的内容
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);// 打印数组内容
}
}
}
结果:
$RECYCLE.BIN
1
2
2-5.4
3
3-5.4
360Downloads
4
4.5.4
;test1.txt
centos-1
centos-2
centos-3
centos-4
Program Files
Program Files (x86)
RECYCLER
System Volume Information
test.txt
test1.txt
xp
~1
快盘
范例:加上路径
package test2;
import java.io.File;
public class Filelist {
public static void main(String[] args) {
File f = new File("d:" + File.separator);// 给出一个路径
File[] str = f.listFiles();// 列出给定目录中的内容
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);// 打印数组内容
}
}
}
结果:
d:\$RECYCLE.BIN
d:\1
d:\2
d:\2-5.4
d:\3
d:\3-5.4
d:\360Downloads
d:\4
d:\4.5.4
d:\;test1.txt
d:\centos-1
d:\centos-2
d:\centos-3
d:\centos-4
d:\Program Files
d:\Program Files (x86)
d:\RECYCLER
d:\System Volume Information
d:\test.txt
d:\test1.txt
d:\xp
d:\~1
d:\快盘
浙公网安备 33010602011771号