第六章 输入和输出处理(IO流)

embedded/2024/9/25 16:24:48/

File类操作文件

public static void main(string[] args){try {//创建File对象// 绝对路径相对路径string path ="D:/4072/1/":String fileName ="1.txt";File file = new File(path);if(!file.exists()&&!file.isDirectory()){   file.mkdirs();//创建多级system.out.printin("进来创建文件夹”);}File filel = new File(path,fileName);if(!file1.exists()&&!file1.isFile()){System.out.printin("进来创建文件....");file1.createNewFile();}System.out.println("判断文件或目录是否存在:"+file.exists());System.out.println("判断是否是文件:"+file.isFile());System.out.println("判断是否是文件夹:"+file.isDirectory());System.out.println("相对路径:"+file.getPath());System.out.println("绝对路径:"+file.getAbsolutePath());System.out.println("获得文件或目录名称:"+file.getName());System.out.println("获得文件字节数:"+file.length());System.out.println("删除文件或目录:"+file.delete());catch(Exceptione){e.printstackTrace();}
}

流的使用和分类

字节流:byte

输入流:input(读取)

inputStream->FileinputStream(路径|对象)

.available()获得文件字节数

.read() || .read(字节数组)

.close(); //关闭流 释放资源

public static void main(string[] args){Inputstream is = null;try {is = new FileInputstream("D:\\4072\\1/1.txt");//定义字节数组 用于接收数据byte b[]= new byte[is.available()];is.read(b);//读取内容方入数组//将字节数组转换为字符串String str = new string(b,"GBK");system.out.printin(str);}catch(Exceptione){e.printstackTrace();}finally {try {is.close();//释放资源}catch(IoException e){e.printstackTrace;}}
}

输出流:output(写入)

OutputStream->FileOutputStream("路径 || File对象,"boolean 是否追加内容)

os.write(字节数组) 写入内容 字符串通过getBytes()转为字节数组

os.close(); //释放资源

os.flush(); //强制把缓冲区的数据写到输出流中

public static void main(string[] args){Outputstream os =null;try{os = new Fileoutputstream("D:\\4072\\1/1.txt",true);String msg ="张三";//将字符串转换为字节数组 并调用write方法进行写入os.write(msg.getBytes);System.out.print]n("写入成功。。。。");catch(Exceptione){e.printstackTrace;} finally {try {os.close();} catch(IoException e){e.printstackTrace;}}
}

复制文件内容代码如下:

public static void main(string[] args){Inputstream is = null;//读Outputstream os =null;//写try {is = new FileInputstream("D:\\4072\\1/1.txt");os = new Fileoutputstream("D:\\4072\\1/2.txt");int b = -1;while((b =is.read()!=-1){os.write(b);}System.out.printin("复制成功!!!!");}catch(Exception e){e.printstackTrace();}finally {try {//释放资源if(is!=null) is.close();if(os!=nu1l) os.close();}catch(IoException e){throw new RuntimeException(e);}}
}


http://www.ppmy.cn/embedded/116706.html

相关文章

AI视觉算法盒是什么?如何智能化升级网络摄像机,守护全方位安全

在智能化浪潮席卷全球的今天,以其创新技术引领行业变革,推出的集高效、智能、灵活于一体的AI视觉算法盒。这款革命性的产品,旨在通过智能化升级传统网络摄像机,为各行各业提供前所未有的安全监控与智能分析能力,让安全…

记录网络IP自动获取到169.254.x.x的解决过程

总结: 出现断网并且显示未识别的网络时,可能会存在几种情况: IP冲突导致的无法上网。网卡配置错误导致的无法上网。网络未连通导致无法通过路由DHCP获取IP,导致的无法上网。即使交换机没有WAN口网线,电脑连接LAN口也会…

在Linux服务器上如何实现自动化部署?

在Linux服务器上实现自动化部署可以通过多种工具和方法来完成。以下是一个常见的自动化部署流程,结合了版本控制、自动化构建和部署工具。 1. 使用版本控制系统(如Git) 确保你的代码库已经在版本控制系统(如Git)中进行管理。 # 克隆代码库 git clone https://github…

本地搭建OnlyOffice在线文档编辑器结合内网穿透实现远程协作

文章目录 前言1. 安装Docker2. 本地安装部署ONLYOFFICE3. 安装cpolar内网穿透4. 固定OnlyOffice公网地址 前言 本篇文章讲解如何使用Docker在本地Linux服务器上安装ONLYOFFICE,并结合cpolar内网穿透实现公网访问本地部署的文档编辑器与远程协作。 Community Editi…

10.1软件工程知识详解上

软件工程概述 软件开发生命周期 软件定义时期:包括可行性研究和详细需求分析过程,任务是确定软件开发工程必须完成的总目标,具体可分成问题定义、可行性研究、需求分析等。软件开发时期:就是软件的设计与实现,可分成…

Spring Boot 点餐系统:餐饮界的技术革新

第四章 系统设计 4.1 系统体系结构 网上点餐系统的结构图4-1所示: 图4-1 系统结构 模块包括主界面,首页、个人中心、用户管理、美食店管理、美食分类管理、美食信息管理、美食订单管理、美食评价管理、系统管理等进行相应的操作。 登录系统结构图&…

Axios请求拦截器和Axios响应拦截器

在使用axios进行HTTP请求时,请求拦截器(Request Interceptors)和响应拦截器(Response Interceptors)是非常有用的功能,它们允许你在请求被发送到服务器之前或在服务器响应被then或catch处理之前对它们进行拦…

llamafactory0.9.0微调qwen2.5

llama_factory微调QWen1.5_llama factory qwen-CSDN博客文章浏览阅读2.9k次,点赞36次,收藏10次。本文介绍了如何使用LLaMA-Factory微调Qwen1.5模型,包括1.8B和0.5B版本的训练细节。在数据、训练、LORA融合及推理等方面进行了探讨,同时也分享了微调后模型在不同任务上的表现…