IO流第32天(IO流,目录操作,流的分类,)
文件常用操作
目录操作和文件删除
mkdir()创建一级目录
mkdirs()创建多及目录
delete()删除空目录或文件(需要把先把文件删除才能删目录)
案例:
- //判断d:\news1.txt是否存在,如果存在就删除
//判断d:\\news1.txt是否存在,如果存在就删除
@Test
public void m1() {
String str = "d:\\\\news1.txt";
File file = new File(str);
if (file.exists()) {
if (file.delete()) {
System.out.println("文件news1.txt存在,现已删除");
}
} else {
System.out.println("改文件不存在");
}
}
- //判断目录d:\test目录是否存在,存在就删除(在java编程中,目录也被当做一种文件)
//判断目录d:\\test目录是否存在,存在就删除(在java编程中,目录也被当做一种文件)
@Test
public void m2(){
String str="d:\\test";
File file = new File(str);
if(file.exists())//判断是否存在
{
if(file.delete())//判断是否删除成功
{
System.out.println(str+"路径存在,现已删除");
}
else{
System.out.println("目录下有文件,删除失败");
}
}
else{
System.out.println("没有此目录,删除失败");
}
}
- //判断D:\test\a\b\c目录是否存在,如果存在就提示存在,否则就创建目录
注意:创建多级目录使用mkdirs()
@Test
public void m3(){
String str="D:\\test\\a\\b\\c";
File file = new File(str);
if (file.exists())
{
System.out.println(str+"存在");
}
else{
if(file.mkdirs())
{
System.out.println(str+"创建成功");
}
else
{
System.out.println(str+"创建失败");
}
}
}
IO流
- I/O是Input和Output的缩写(输入输出),I/O流是非常实用的技术,用于处理数据传输,如读/写文件,网络通讯等.
- java程序中,对于数据的输入输出以"流(stream)"的方式进行.
- java.io包下提供各种"流"类和接口,用以获取不同种类的数据,并通过方法输入或输出数据
- 输入Input:读取外部数据(磁盘,光盘等存储设备的数据)到程序(内存)中
- 输出Output:将程序(内存)数据输出到磁盘,光盘等存储设备中
流的分类
- 按操作单位不同分为字符流(按字符,文本文件)和字节流(8bit,二进制文件)
- 按数据流的流向不同分为输入流和输出流
- 按流的角色不同分为:节点流,处理流/包装流
| (抽象基类) | 字节流 | 字符流 |
| ------------ | ------------ | ------------ |
| 输入流 | InputStream | Reader |
| 输出流 | OutputStream | Witer |
java的IO流共涉及40多个类,实际上非常规则,都是从如上4个抽象类派生的
由这4个类派生出来的子类名称都是以其父类作为子类名后缀
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?