使用File类删除某个文件夹(例如D盘下的temp文件夹)下的所有文件和文件夹:
1)判断temp文件夹下的文件类型,如果是文件则直接删除
2)如果是文件夹则获取该文件夹下的子文件和文件夹
3)使用递归的方式删除所有temp文件夹下的文件和文件夹
package com.lianxi.IO.file;
import java.io.File;
import java.io.IOException;
public class FileTest1 {
public static void remove(File file){
File[] files=file.listFiles();
//循环遍历数组
for (File file1:files){
if (file1.isFile()){
file1.delete();
System.out.println("文件名:"+file1.getName());
}else {
System.out.println("文件夹名"+file1.getName());
remove(file1);
file1.delete();
}
}
file.delete();//删除完文件夹中的文件后才能删除文件夹
}
public static void fun(File file){
File[] files=file.listFiles();
for (File file1:files){
if (file1.exists()){
if (file1.isFile()){
System.out.println(file1);
}else {
fun(file1);
}
}
}
}
public static void main(String[] args) throws IOException {
File file1=new File("C:\\Users\\Administrator\\Desktop\\java2");
if (!file1.isFile()){
file1.mkdir();
}
File file2=new File(file1,"c.txt");
if (!file2.isFile()){
file2.createNewFile();
}
File file3=new File(file1,"c.jpg");
if (!file3.isFile()){
file3.createNewFile();
}
File file4=new File("C:\\Users\\Administrator\\Desktop\\java2\\123");
//remove(file2);
fun(file1);
System.out.println(file1.length());
remove(file4);
}
}
编写一个应用程序,将用户从键盘输入的10个整数存入文件,再顺序读出
package com.lianxi.IO.file;
import java.io.*;
import java.util.Scanner;
public class IoTest2 {
public static void main(String[] args){
BufferedWriter bw=null;
BufferedReader br=null;
Scanner sc=new Scanner(System.in);
File file=new File("test.txt");
try {
bw=new BufferedWriter(new FileWriter(file,true));
for (int i=0;i<10;i++){
int a= sc.nextInt();
String b= String.valueOf(a);
bw.write(b+'\n');
bw.flush();
}
br=new BufferedReader(new FileReader(file));
String s;
while ((s= br.readLine())!=null){
System.out.println(s);
}
} catch (IOException e) {
throw new RuntimeException(e);
}finally {
try {
if (bw!=null){
bw.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
try{
if (br!=null){
br.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}