IO流(Java)

IO流

在学习IO流之前,我们首先了解一下File

File

File即文件或文件夹路径对象,其示例类可以是存在路径也可以是未创造路径

File有什么用

用于创建或操作文件或文件夹

File常用API

API部分看得懂会查会用即可

 

 

IO流

IO(Input  读数据 Output写数据)流即输入输出流 ,是程序(IO操作以程序为参考对象)对文件内容进行读取或储存的方法

Input:文件=>程序,故为

Output:程序=>文件,故为写(存)

IO流分类

字节流

字节为读写最小单位,可以操作所有文件

FileInputStream

文件字节输入流,可以将文件中数据输入(读入)到程序中

代码示例

public class Io {public static void main(String[] args) throws IOException {//创建FileInputStream对象并指定操作文件路径FileInputStream fis=new FileInputStream("D://test.txt");//循环读取数据int data=0;while((data=fis.read())!=-1){System.out.println((char)data);}//关闭资源fis.close();}
}

 

 

FileOutputStream

文件字节输出流,可以将数据写入指定文件中

代码示例

public class Io {public static void main(String[] args) throws IOException {//创建FileOutputStream流对象并指定路径与书写方式(续写或清除重写)FileOutputStream fos = new FileOutputStream("D://test.txt",true);   //true表示续写//数据获取byte[] data="I Love My Mother".getBytes();//写入数据fos.write(data,0,data.length);//关闭资源fos.close();}
}

拷贝文件(快速读)

public class Io {public static void main(String[] args) throws IOException {//获取文件io流FileInputStream fis=new FileInputStream("D://test.txt");FileOutputStream fos=new FileOutputStream("D://testcopy.txt");//开始拷贝int flat=0;byte[] data=new byte[1024];       //定义一次性读取大小,这里是1024字节,即1KBwhile((flat=fis.read(data))!=-1){           //读数据fos.write(data,0,data.length);         //写入数据}//关闭资源,后用先关fos.close();fis.close();}
}

 

 

 

字符流 

................

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/207217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt/QML编程学习之心得:工程中的文件(十二)

Qt生成了工程之后,尤其在QtCreator产生对应的project项目之后,就如同VisualStudio一样,会产生相关的工程文件,那么这些工程文件都是做什么的呢?这里介绍一下。比如产生了一个Qt Widget application,当然如果Qt Quick Application工程会有所不同。 一、.pro和.pro.user …

企业计算机服务器中了360勒索病毒如何解密,勒索病毒解密数据恢复

网络技术的不断应用与发展,为企业的生产运营提供了极大便利,但随之而来的网络安全威胁也不断增加。近期,云天数据恢复中心接到很多企业的求助,企业的计算机服务器遭到了360后缀勒索病毒攻击,导致企业的所有数据被加密&…

游戏策划常用的ChatGPT通用提示词模板

游戏设计:请帮助我设计一个有趣的游戏。 游戏玩法:如何设计游戏的玩法? 游戏机制:如何设计游戏的机制? 游戏平衡:如何平衡游戏中的各种元素? 游戏美术:如何设计游戏的美术风格&a…

『PyTorch学习笔记』如何快速下载huggingface模型/数据—全方法总结

如何快速下载huggingface模型/数据—全方法总结 文章目录 一. 如何快速下载huggingface大模型1.1. IDM(Windows)下载安装连接1.2. 推荐 huggingface 镜像站1.3. 管理huggingface_hub cache-system(缓存系统) 二. 参考文献 一. 如何快速下载huggingface大模型 推荐 huggingface…

希亦洗地机跟追觅洗地机入手哪个更好?追觅跟希亦洗地机深度评估

近年来,洗地机可以同时处理干湿垃圾,同时降低用户在清洁过程中的劳动强度,成为了家居清洁的新宠,但是目前市场上的品牌和型号层出不穷。用户往往很难挑选,本文挑选了两款目前口碑最好的两款洗地机给大家做一个全面的评…

Android 记录一些Framework开发的命令

源码编译流程 1. "source build/envsetup.sh" (source可以用 . 代替,即". build/envsetup.sh") 2. "lunch",并选择要编译的项目或者"choosecombo" 3. "make idegen -j4" (这里的 -j4 表示用4线程来…

LeeCode每日刷题12.8

搜索插入位置 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums [1,3,5,6], target 5 输出: …

外贸行业的CRM系统和其它CRM有什么区别?

外贸行业对客户管理的追求日益提高,为了应对客户需求的变化和多元性,外贸企业需要借助CRM管理系统实现智能管理。下面,我们将详细探讨外贸CRM的概念、特点和具体应用。 什么是外贸CRM? 外贸CRM是指针对外贸行业的客户关系管理系…

Nginx+Promtail+Loki+Grafana 升级ELK强大工具

最近客户有个新需求,就是想查看网站的访问情况,由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的页面,咱也做不到 成熟的日志解决方案,那就是ELK,还有现在比较火的Loki,(当然还有很多其…

两电脑共享鼠标键盘方案

一开始使用的是shareMouse 但是需要注册还有很多不稳定问题 后来想买个双拷线,又太贵,感觉不值的。 再后来,发现微软有自己的系统上的 共享方案 ,叫做 Mouse without Borders ,而且是免费的,只能在window电脑上使用…

Linus:我休假的时候也会带着电脑,否则会感觉很无聊

目录 Linux 内核最新版本动态 关于成为内核维护者 代码好写,人际关系难处理 内核维护者老龄化 内核中 Rust 的使用 关于 AI 的看法 参考 12.5-12.6 日,Linux 基金会组织的开源峰会(OSS,Open Source Summit)在日…

基于Java酒店管理系统

基于Java酒店管理系统 功能需求 1、客房管理:系统需要提供客房的信息管理功能,包括客房的类型、数量、价格、状态(如空闲、已预订、已入住等)等信息。此外,系统还应支持对客房信息的修改和查询操作。 2、预订管理&a…

日常开发日志

目录 1、idea开发服务启动的网页地址不显示前端样式: 2、java Date 与myibits 的空判断: 1、idea开发服务启动的网页地址不显示前端样式: idea开发时,tomcat启动的后端弹出的网页地址,呈现的网页没有样式&#xff0…

报名学历的同学,月底前记得申请抵扣个税!

2024年度专项附加扣除开始确认啦! 已经报名学历(自考、成考、开放大学)的同学,记得去申请抵扣个税哦! 每个月的应纳税额可以减免400元呢,学历提升在读这几年算下来,可以省不少钱。 注意&#x…

轮播插件Slick.js使用方法详解

相比于Swiper而选择使用Slick.js的原因主要是因为其兼容不错并且在手机端的滑动效果更顺畅 参数: 1.基本使用:一般使用只需前十个属性 $(.box ul).slick({autoplay: true, //是否自动播放pauseOnHover: false, //鼠标悬停暂停自动播放speed: 1500, //…

linux链表应用2

以下是根据您的要求对示例代码进行优化的结果&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h>// 定义路径节点结构体 typedef struct PathNode {unsigned int fildid;char folderName[100]; // 文件夹名字struct PathNode* next…

C#网络编程(System.Net命名空间)

目录 一、System.Net命名空间 1.Dns类 &#xff08;1&#xff09;示例源码 &#xff08;2&#xff09;生成效果 2.IPAddress类 &#xff08;1&#xff09;示例源码 &#xff08;2&#xff09;生成效果 3.IPEndPoint类 &#xff08;1&#xff09; 示例源码 &#xff0…

记录 | linux下互换键盘的Ctrl和CapsLock键

互换ctrl和CapsLK setxkbmap -option "ctrl:swapcaps"打开设置文件&#xff1a; sudo vim /etc/default/keyboard将其中的XKBOPTIONS中添加ctrl:swapcaps即可&#xff0c;如下所示&#xff1a; # KEYBOARD CONFIGURATION FILE# Consult the keyboard(5) manual pa…

【动态规划系列】子数组的最大和

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

自动化测试框架需要具备哪些功能?

我们经常听说使用了某某框架&#xff0c;那框架究竟是什么呢&#xff1f;框架有什么优势和功能&#xff1f; 什么是自动化框架 自动化框架是包含了自动化测试的组织、执行、监控以及报告等流程的工具&#xff0c;是由多个工具、库、模块和API等组成的工具集。自动化框架的目标…