创建和删除
public static void main(String[] args) throws IOException {
File f1=new File("D:\\bb\\cc.txt");
System.out.println(f1.isFile());//判断是否是文件
System.out.println(f1.isDirectory());//判断是否是文件夹
System.out.println(f1.getName());//获取文件或目录的名字
System.out.println(f1.getParent());//获取父级目录
System.out.println(f1.exists());//判断此路径是否存在
//System.out.println(f1.createNewFile());//创建文件
File file=new File("D:\\bb\\cc\\dd");
//System.out.println(file.mkdir());//创建文件夹(只能创建一层)
System.out.println(file.mkdirs());//创建文件夹(可以创建多层)
System.out.println("---------------------");
File f2=new File("src//houpu//aa.txt");
System.out.println(f2.exists());
System.out.println(f2.createNewFile());
System.out.println("绝对路径:"+f2.getAbsolutePath());
System.out.println("删除:"+f2.delete());//删除
File f3=new File("D://aa", "bb//cc");
System.out.println(f3.exists());
System.out.println(f3.mkdirs());
}
复制读写
public static void main(String[] args) throws IOException {
//m1();
//m2();
//通过字节流,实现文件或图片的复制,
}
//写入
public static void m2() throws IOException{
//1.创建文件
File file=new File("src//hp//aa.txt");
//2.创建流与文件关联
FileOutputStream fout=new FileOutputStream(file);
String s="hello world";
//将字符串转为数组
byte[] b=s.getBytes();
//3.写入
fout.write(b);
//4.关闭流,释放资源
fout.close();
}
//读取
public static void m1() throws IOException{
//创建要读取的文件
File file=new File("d:\\aa.txt");
//创建流与文件关联
FileInputStream fin=new FileInputStream(file);
//创建传输通道
byte[] b=new byte[1024];
int len=0;
//开始读取 先读取值,赋值给变量len,判断是!=-1
while((len=fin.read(b))!=-1){
//转换为字符串
String str=new String(b,0,len);
System.out.println(str);
}
//关闭流,释放资源
fin.close();
}
**
总结:
**
I/O流
File类:
分类:
根据传输方向:
输入流 InputStream
输出流 OutputStream
根据传输类型:
字节流
字节输入流 FileInputStream
字节输出流 FileOutputStream
与文件关联
字符流
字符输入流 FileReader
字符输出流 FileWriter
与文件关联
缓冲流
缓冲输入流 BufferedReader
缓冲输出流 BufferedWriter
与流关联
步骤:
1.创建流与文件关联
2.创建传输通道
3.选择读写方式
4.关闭流,释放资源 (.close())
**注意:**除了字节输出流不用刷新,其余的输出流都需要刷新(.flush())