文件的复制
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class Test {
public static void main(String[] args) {
try {
FileInputStream fis = new FileInputStream("d:/微信图片_20181215200356.jpg");
FileOutputStream fos = new FileOutputStream("H:/微信图片_20181215200356.jpg");
byte[] buffer = new byte[1024];
int len = 0;
while ((len = fis.read(buffer)) != -1) {
fos.write(buffer, 0, len);
fos.flush();
}
fis.close();
fos.close();
System.out.println("over");
} catch (Exception e) {
e.printStackTrace();
}
}
}
文件的删除
import java.io.File;
public class Test2 {
public static void main(String[] args) {
File dir=new File("d://liu");
deleteFile(dir);
}
private static void deleteFile(File dir) {
File[] files = dir.listFiles();//1,获取该文件夹下的所有的文件和文件夹
for (File file : files) {//2,遍历数组
if (file.isFile()) {//3,判断是文件直接删除
file.delete();
} else {
deleteFile(file); //4,如果是文件夹,递归调用
}
}
dir.delete();//5,循环结束后,把空文件夹删掉
System.out.println("删除完毕");
}
}
文件的大小
import java.io.File;
import java.util.Scanner;
public class Test1 {
/**
* @param args
* 需求:1,从键盘接收一个文件夹路径,统计该文件夹大小
*/
public static void main(String [] args){
File dir = getDir();
System.out.println(getFileLength(dir));
}
//从键盘接收一个文件夹路径
public static File getDir(){
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个文件夹路径");
while(true){//2,定义一个无限循环
String line=sc.nextLine();//3,将键盘录入的结果存储并封装成File对象
File dir = new File(line);
if(!dir.exists()){
System.out.println("您录入的文件夹路径不存在,请输入一个文件夹路径:");
}else if(dir.isFile()){//4,对File对象判断
System.out.println("您录入的是文件路径,请输入一个文件夹路径:");
}else{
return dir;// 5,将文件夹路径对象返回
}
}
}
//统计该文件夹大小
public static long getFileLength(File dir){
long len=0;//1,定义一个求和变量
File[] subFiles=dir.listFiles();//2,获取该文件夹下所有的文件和文件夹listFiles();
for (File subFile:subFiles) { //3,遍历数组
if(subFile.isFile()){
len=len+subFile.length(); // 4,判断是文件就计算大小并累加
}else{
len=len+getFileLength(subFile);//5,判断是文件夹,递归调用
}
}
return len;
}
}