复习六(File文件流)
流是指一连串流动的字符以先进先出的原则传送信息的通道
IO流是指输入输出流
在文件流中信息会被转成 二进制(1字节8位)或 字符(unicode编码2字节)
流的分类:
1.按照流向分:
输出流:OutputStream 和 Writer
输入流:InputStream 和 Reacer
2.按照数据处理方式分:
字节流:byte
字符流:char
InputStream/OutputStream 属于字节流不支持汉字
Reacer/Writer 属于字符流支持汉字
File的方法:
File file=new File("文件路径")
file.exists() :判断文件是否存在
file.createNewFile() :创建文件
file.getName() :获得文件名称
file.getPath() :获得文件相对路径
file.parent() :获得文件上一层路径
file.length() :获得文件长度
file.getAbsoutePath() :获得文件完整路径
file.isPirectory() :判断是否是文件夹
file.delete() :删除文件(成功返回true)
使用流读取文件内容:
//1.创建流对象 FileInputStream ins=new FileInputStream(”文件地址“); //2.将读到的内容放入byte数组中 byte[] bytes=ins.read();//读到的内容是ASII码 没有内容返回-1 //3.将byte数组转换为String String s=new String(bytes); //4.关闭流 ins.close() 字符流和字节流的使用方法相同只是将byte数组换成了char数组
使用流写入内容:
//1.创建流 FileOutputStream ops=new FileOutPutStream("文件路径")//如果没有这个文件会自动创建一个 //2.创建写入的内容 String s="内容"; //3.将String的内容转换为Byte数组写入文件 ops.write(s.getBytes()); //4.关闭流 ops.close()
使用流复制文件:
//1.创建输入流和输出流 FileInputStream ins=new FileInputStream("原文件文件地址") FileOutputStream ops=new FileOutputStream("新文件地址") //2.定义一个存储信息的数组 byte[] bytes= new byte[文件长度]; //3.将读取到的内容放入数组 for(int i=0;i<butes.length;i++){ bytes[i]=ins.read(); } //4.写出 ops.write(bytes); //5.关闭流 ops.close() ins.close();
必须关闭流或加一个冲刷缓冲区outputStream.flush()不然内容会存放于缓冲区内写不出去报错
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构