1.1 创建文件夹
-
mkdir创建单层目录
-
mkdirs创建多层目录
1.2 创建文件
-
File
-
语法:
-
new File("文件路径");
-
private static void myFile() {
File file = new File("d:\\a\\b");
File file1 = new File("d:\\a\\b\\c.txt");
try {
file.mkdirs();
file1.createNewFile();
}catch (Exception e){
e.printStackTrace();
}
}
1.3 删除文件夹
-
删除文件夹内部文件
-
删除文件夹
public static void deletes(File src){
File[] files = src.listFiles();
for (File file:files) {
System.out.println("文件夹名字:"+file.getName());
//TODO 判断是否是文件夹
if(file.isFile()){
file.delete();
}else {
//TODO 再给删除方法删除一遍
deletes(file);
}
}
//TODO 删除最外层文件夹
src.delete();
}
二.流
2.1 流写入
//1.创建对象
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\c.txt");
//2.调用对象里面的方法,往里面写入
fos.write(65);
fos.write(66);
//3.关闭
fos.close();
2.2 流写数组
//1.创建对象,如果想追加,那么构造方法中,第二个参数写true就行
//追加就是在已有的内容后面继续添加内容
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\c.txt",true);
byte[] buf = {65,66,67,68};
try {
fos.write(buf);
fos.close();
}catch (Exception e){
e.printStackTrace();
}
2.3 用流实现读写功能
FileInputStream fis = new FileInputStream("d:\\a\\b\\c.txt");
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\e.txt");
int len;
while ((len = fis.read()) != -1){
fos.write(len);
}
fis.close();
fos.close();
2.4 用流实现本地文件的拷贝
FileInputStream fis = new FileInputStream("d:\\a\\b\\001.jpg");
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\002.jpg");
//设计缓冲区
byte [] buf = new byte[1024];
int num;
while ((num = fis.read(buf))!= -1 ){
fos.write(buf,0,num);
}
fis.close();
fos.close();
2.5 BufferedInputStream与BufferedOutputStream
//自带缓冲区的方法
FileInputStream fis = new FileInputStream("d:\\a\\b\\001.jpg");
BufferedInputStream bis = new BufferedInputStream(fis);
FileOutputStream fos = new FileOutputStream("d:\\a\\b\\003.jpg");
BufferedOutputStream bos = new BufferedOutputStream(fos);
int num;
while ((num = bis.read()) != -1){
bos.write(num);
}
bis.close();
bos.close();