《Java面向对象第十三章》

IO流处理

一、IO流概念

临时存储:变量,数组,集合等,都是存储在内存中,只要停止运行,这些数据都会消失。

数据持久化:将数据保存在硬盘里面,只要不手动删除,则永久生效。

常见的数据持久化技术:1.数据库       2.IO流

数据库:通过Java代码将临时存储的数据存进数据库。       应用场景:存储一些数据

IO流:通过Java代码将临时存储的数据存进指定的文件。     应用场景:文件上传,文件下载

都是双向操作,能存也能取。

注意:文件的相关操作都是导入  java.io 包

二、File类

构造方法如下:

File  file  = new File(“要操作或要创建的文件夹或文件的路径”);

常见方法如下:

boolean  createNewFile();创建该文件,如果存在就不会创建

boolean  mkdir();创建该文件夹,如果存在就不会创建

案例1:在项目根目录下创建123.txt文件

package com.yyzy.test;

import java.io.File;

import java.io.IOException;

public class Test {

    public static void main(String[] args) throws Exception {

    String path = "123.txt";//注意:如果没有写绝对路径,就表示在根目录下操作。

File file = new File(path);

boolean b = file.createNewFile();

System.out.println(b);

}

}

案例2:在桌面下创建456.txt(注意路径里面的转义符)

package com.yyzy.test;

import java.io.File;

import java.io.IOException;

public class Test {

    public static void main(String[] args) throws Exception {

        String path = "C:\\Users\\Administrator\\Desktop\\456.txt";

File file = new File(path);

file.createNewFile();

}

}

案例3:在项目根目录下创建test文件夹,然后在内部再创建test.txt文件

package com.yyzy.test;

import java.io.File;

import java.io.IOException;

public class Test {

    public static void main(String[] args) throws Exception {

        String path = "test/test.txt";//注意不能这么写。必须要一级一级的来。  必须要先创建test文件夹,再创建test.txt

String path = "test";

File f = new File(path);

f.mkdir();

path = path + "\\test.txt";

f = new File(path);

f.createNewFile();

}

}

三、File类中的常用方法

boolean exists();返回文件或文件夹是否存在

String getAbsolutePath(); 返回文件或文件夹的绝对路径

boolean  delete(); 删除空文件夹或文件

isFile(); 判断是否为文件

isDirectory();判断是否为文件夹

getName();返回对象的名字

package com.yyzy.test;

import java.io.File;

public class Test2 {

public static void main(String[] args) {

        String path = "123";

File f = new File(path);

System.out.println(f.exists());

System.out.println(f.getAbsolutePath());

System.out.println(f.delete());

System.out.println(f.isFile());

System.out.println(f.getName());

}

}

File[] listFiles();返回指定目录下的所有文件或文件夹,返回是file对象。

案例:遍历指定目录下的所有文件夹以及文件。

package com.yyzy.test;

import java.io.File;

public class Test2 {

public static void main(String[] args) {

        String path = "D:\\workspace";

File f = new File(path);

listFile(f);

}

public static void listFile(File file) {

File[] files = file.listFiles();

for(int i = 0 ;i<files.length;i++) {

if(files[i].isFile()) {

System.out.println(files[i].getName()+"是一个文件");

}else {

System.out.println(files[i].getName()+"是一个文件夹");

listFile(files[i]);

}

}

}

}

实现文件夹的删除

血的教训: 不要乱删重要文件,记得备份!!!  因为这属于不可撤销动作

package com.yyzy.test;

import java.io.File;

public class Test3 {

public static void main(String[] args) {

String path = "C:\\Users\\Administrator\\Desktop\\chap3";

File f = new File(path);

listFile(f);

}

public static void listFile(File file) {

File[] files = file.listFiles();

for(int i = 0 ;i<files.length;i++) {

if(files[i].isFile()) {

System.out.println(files[i].getName()+"是一个文件,已删除:" + files[i].delete());

}else {

System.out.println(files[i].getName()+"是一个文件夹");

listFile(files[i]);

System.out.println("文件夹删除" + files[i].delete());

}

}

file.delete();

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值