操作文件的类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:\快盘