文件(File)
本篇会讲解java中,文件的操作实例
1. 创建文件
在整个io包中,唯一表示与文件本身有关的类就是File类
java.io.File
File类的常用构造方法
public File(String pathname)
下面用此方法创建一个文件
import java.io.File;
import java.io.IOException;
public class Demo{
public static void main(String args[]) {
File f = new File("d:\\demo.txt") ;
try {
f.createNewFile() ;
} catch (IOException e) {
e.printStackTrace();
}
}
}
方法 createNewFile()
创建新的文件
运行完后可以到对应的路径底下查看文件是否创建成功
分隔符
注意文件的路径分隔符
windows中使用反斜杆表示目录的分隔符:“\”
linux中使用正斜杆表示目录的分隔符:“/”。
File.separator
可以保证在任何系统都可以正确表示斜线
因此路径名也可以写成
String path = "d:" + File.separator + "demo.txt" ;
类似的字段有
separator | 代表系统的默认名称分隔符,它被表示为一个字符串 |
separatorChar | 代表系统的默认名称分隔符 |
pathSeparator | 路径分隔符,它被表示为一个字符串 |
pathSeparatorChar | 路径分隔符 |
2. 删除文件
import java.io.File;
public class Demo {
public static void main(String args[]) {
File f = new File("d:"+File.separator+"demo.txt") ;
if(f.exists()){
f.delete() ;
}
}
}
exists()
判断文件是否存在
delete()
删除文件
创建和删除
学完了创建与删除,你也可以试着结合运用一下
如果文件存在便删除,不存在则创建
具体操作如下
import java.io.File;
import java.io.IOException;
public class Demo{
public static void main(String args[]) {
File f = new File("d:"+File.separator+"demo.txt");
if (f.exists()) {
f.delete();
} else {
try {
f.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
3. 创建文件夹
File类中有两个方法可以用来创建文件夹:
mkdir( )
方法创建一个文件夹,返回true和false。
mkdirs()
采用递归的方法,创建一个文件夹和它的所有父文件夹。
import java.io.File;
public class Demo{
public static void main(String args[]) {
File file=new File("d:\\list1\\2\\3");
if(!file.exists()) {
file.mkdirs();
}
}
}
4. 列出文件目录
列出D盘内所有文件
list方法
import java.io.File;
public class Demo {
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]);
}
}
}
listFiles方法
import java.io.File;
public class Demo {
public static void main(String args[]) {
File f = new File("d:" + File.separator);
File files[] = f.listFiles();
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]) ;
}
}
}
public String[] list()
列出全部名称,返回一个字符串数组
public File[] listFiles()
列出完整的路径,返回一个File对象数组
5. 列出指定目录全部内容
public static void print(File file) {
if (file != null) {
if (file.isDirectory()) {
File f[] = file.listFiles() ;
if (f != null) {
for (int i = 0; i < f.length; i++) {
print(f[i]);
}
}
}else{
System.out.println(file);
}
}
}
方法File.isDirectory()
判断是否是目录