1.File
File类提供了许多方法来操作文件和目录,包括创建、查找、删除文件等
file常见功能
1.增
创建文件
exits() 判断文件是否存在
createNewFile() 创建新文件
二个搭配一起.判断文件是否存在来创建文件(需要使用try/catch处理异常情况)
File file = new File("C:/Users/Administrator/Desktop/review.txt");
try {
if (!file.exists()){
file.createNewFile();
}
} catch (IOException e) {
e.printStackTrace();
}
创建目录
mkdir() 创建一个空目录
File file = new File("C:/Users/Administrator/Desktop/同学");
if (!file.mkdir()){
file.mkdir();
}
mkdirs( ) 创建父目录和子目录(当没有父目录使用)
File file = new File("C:/Users/Administrator/Desktop/同学/2014/");
if (!file.mkdirs()){
file.mkdirs();
}
2.查
getName() 获取文件名
getAbsolutePath() 获取文件绝对路径或目录绝对路径
getAbsoluteFile() 获取文件绝对路径或目录绝对路径
getParent() 获取父级的目录或父级的文件
lastModified() 获取文件最后修改的时间
length() 获取文件大小
File file = new File("C:/Users/Administrator/Desktop/review.txt");
try {
if (!file.exists()){
file.createNewFile();
}
} catch (IOException e) {
e.printStackTrace();
}
// BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(file));
System.out.println(file.getName());// 输出值 review.txt
System.out.println(file.getAbsoluteFile());
// 输出值 C:\Users\Administrator\Desktop\review.txt
System.out.println(file.getAbsolutePath());
// 输出值 C:\Users\Administrator\Desktop\review.txt
System.out.println(file.getParent());
// 输出值 C:\Users\Administrator\Desktop
System.out.println(file.getParentFile());
// 输出值 C:\Users\Administrator\Desktop
System.out.println(file.lastModified());//具体输出结果可能不一样,最后修改的时间
System.out.println(file.length());//文件中我写了6个字符,输出值 6
}
状态检测
isRead() 判断是否可读
isWriter() 判断是否可写
isDirectory() 判断是否是目录
isFile() 判断是否是文件
isHidden() 判断是否隐藏
File file = new File("C:/Users/Administrator/Desktop/review.txt");
try {
if (!file.exists()){
file.createNewFile();
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(file.canRead());//输出值 true
System.out.println(file.canWrite());//输出值 true
System.out.println(file.isDirectory());//输出值 false
System.out.println(file.isFile());//输出值 true
System.out.println(file.isHidden());//输出值 false
删除
delete() 删除文件或目录
public static void main(String[] args) {
File file = new File("C:/Users/Administrator/Desktop/同学/2014/");
if (!file.mkdirs()){
file.mkdirs();
}
System.out.println(file.delete());//输出值 true
写入数据模版
第一种FileWriter
FileWriter fileWriter= new FileWriter(file,true); 这个FileWriter(文件路径,是否追加文件)
fileWriter.writer(content) 写入文件内容
第一种PrintWriter
PrintWriter fileWriter= new PrintWriter(file,"UTF-8"); 这个FileWriter(文件路径,编码格式)
fileWriter.prntIn(content) 写入文件内容
第一种
File file = new File("C:/Users/Administrator/Desktop/text.txt");
try {
if (!file.exists()){
file.createNewFile();
}
FileWriter fileWriter= new FileWriter(file,true);
fileWriter.write("你好,这不要用有吗");
fileWriter.write("什么呀");//输出 你好,这不要用有吗什么呀
//注意不会自动换行
fileWriter.close();
//关闭文件输入器
} catch (IOException e) {
e.printStackTrace();
}
第二种
File file = new File("C:/Users/Administrator/Desktop/text.txt");
try {
if (!file.exists()){
file.createNewFile();
}
FileWriter fileWriter= new FileWriter(file,true);
fileWriter.write("你好,这不要用有吗");
fileWriter.write("什么呀");
PrintWriter printWriter = new PrintWriter(file,"UTF-8");
printWriter.println("行吧");
printWriter.println("去吧");
printWriter.close();
fileWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
注意的是FileWriter 机率会出现丢失和乱码的情况,最好使用PrintWriter追加写如文字