IO流学习笔记
文件 | 文件夹 | 多级文件夹的创建
1、普通文件的创建
package com.zheng.io;
import java.io.File;
import java.io.IOException;
public class FileDemo1 {
public static void main(String[] args) {
try {
//创建一个新的普通文件
File file = new File("D:\\2021.txt");
boolean flag = file.createNewFile();//创建一个新的普通文件
System.out.println(flag ? "创建成功" : "创建失败");//三元运算,条件判断?表达式1:表达式2 条件判断正确执行表达式1,错误执行表达式2
} catch (IOException e) {
e.printStackTrace();
}
}
}
2、文件夹的创建(mkdir代表普通文件夹的创建)
package com.zheng.io;
import java.io.File;
public class FileDemo1 {
public static void main(String[] args) {
//创建一个普通文件夹
File file1 = new File("D:2022");
boolean flag2 = file1.mkdir();
System.out.println(flag2 ? "文件夹创建成功" : "文件创建失败");
}
}
3、创建多级文件夹(mkdirs代表多级文件的创建)
package com.zheng.io;
import java.io.File;
import java.io.IOException;
public class FileDemo1 {
public static void main(String[] args) {
//创建多级文件
File file3=new File("D:2021\\java\\jsp");
boolean flag3=file3.mkdirs();
System.out.println(flag3?"多级文件夹创建成功":"多级文件创建失败");
}
}
结果
删除文件
package com.zheng.io;
import java.io.File;
public class FileDemo2 {
public static void main(String[] args) {
//删除D盘下的2022.txt文件
File file1=new File("D:\\2022.txt");
boolean flag=file1.delete();
System.out.println(flag?"删除成功":"删除失败");
}
}
- 查询某个文件是否存在
- 查看文件大小
- 获取文件名称
- 获取文件路径
package com.zheng.io;
import java.io.File;
public class FileDemo3 {
public static void main(String[] args) {
try {
//1、判断某个路径的文件是否存在
File file=new File("D:\\x2018");
boolean flag1=file.exists();//判断文件是否存在
if(flag1){
System.out.println("文件已经存在");
}else{
file.mkdir();
}
//2、获取文件的大小
File file2=new File("D:\\2021.txt");
file2.createNewFile();
long size=file2.length();
System.out.println("size:"+size);
//3、获取文件的名称
File file3=new File("D:\\202168.txt");
file3.createNewFile();
String fileName=file3.getName();//获取文件名称
System.out.println("fileName="+fileName);
//4、获取文件的路径
String filePath=file3.getPath();//获取文件的路径
System.out.println("filePath="+filePath);
} catch (Exception e) {
e.printStackTrace();
}
}
}
测试
遍历某个盘符的所有文件
package com.zheng.io;
import java.io.File;
public class FileDemo4 {
public static void showFile(String pathname){
File f1=new File(pathname);
//判断文件是否是文件夹
boolean flag1=f1.isDirectory();
if(flag1){//是文件夹
File [] files=f1.listFiles();//得到文件夹下的所有文件
for (int i=0;files!=null&&i<files.length;i++) {
//判断是否是文件夹
boolean flag2=files[i].isDirectory();
if(flag2){
showFile(files[i].getPath());
}else{
//获取文件的路径
String filepath=f1.getPath();
System.out.println("普通文件:====="+filepath);
}
}
}else{//不是文件夹
String filePath=f1.getPath();
System.out.println("普通文件=======:"+filePath);
}
}
public static void main(String[] args) {
FileDemo4.showFile("D:\\");
}
}
字节输入流
数据(盘符,键盘)—>管道—>水龙头
package com.zheng.inputStream;
import java.io.File;
import java.io.FileInputStream;
public class IODemo {
public static void main(String[] args) {
try {
File f1 = new File("D:\\2021.txt");
if (f1.exists() && f1.length() > 0) {
FileInputStream fileInputStream = new FileInputStream(f1);
}
//1、在程序和文件之间铺设管道
FileInputStream fis = new FileInputStream(f1);
//2、开水龙头
int ch = 0;
while ((ch = fis.read()) != -1) {
System.out.print((char) ch);
}
//3、关水龙头
fis.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
测试