Java的IO系统

JAVA中的IO系统 JAVA中File类和IO流重点 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 总结了自己学习过程中的笔记 提示:以下是本篇文章正文内容,下面案例可供参考 一、File类 file类是java.io包下的类、代表与平台无关的问价和目录 * 1、file能创建、删除、重命名文件和目录,也能检测、访问文件和目录本身 * 2、File不能访问文件中的内容,如果要访问内容、. 阅读详情

 一. Input和Output
1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:
1.1 以字节为导向的stream
以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为导向的stream包括下面几种类型:
1) input stream:
1) ByteArrayInputStream:把内存中的一个缓冲区作为InputStream使用
2) StringBufferInputStream:把一个String对象作为InputStream
3) FileInputStream:把一个文件作为InputStream,实现对文件的读取操作
4) PipedInputStream:实现了pipe的概念,主要在线程中使用
5) SequenceInputStream:把多个InputStream合并为一个InputStream
2) Out stream
1) ByteArrayOutputStream:把信息存入内存中的一个缓冲区中
2) FileOutputStream:把信息存入文件中
3) PipedOutputStream:实现了pipe的概念,主要在线程中使用
4) SequenceOutputStream:把多个OutStream合并为一个OutStream
1.2 以Unicode字符为导向的stream
以Unicode字符为导向的stream,表示以Unicode字符为单位从stream中读取或往stream中写入信息。以Unicode字符为导向的stream包括下面几种类型:
1) Input Stream
1) CharArrayReader:与ByteArrayInputStream对应
2) StringReader:与StringBufferInputStream对应
3) FileReader:与FileInputStream对应
4) PipedReader:与PipedInputStream对应
2) Out Stream
1) CharArrayWrite:与ByteArrayOutputStream对应
2) StringWrite:无与之对应的以字节为导向的stream
3) FileWrite:与FileOutputStream对应
4) PipedWrite:与PipedOutputStream对应
以字符为导向的stream基本上对有与之相对应的以字节为导向的stream。两个对应类实现的功能相同,字是在操作时的导向不同。如CharArrayReader:和ByteArrayInputStream的作用都是把内存中的一个缓冲区作为InputStream使用,所不同的是前者每次从内存中读取一个字节的信息,而后者每次从内存中读取一个字符。
1.3 两种不现导向的stream之间的转换
InputStreamReader和OutputStreamReader:把一个以字节为导向的stream转换成一个以字符为导向的stream。
2. stream添加属性
2.1 “为stream添加属性”的作用
运用上面介绍的Java中操作IO的API,我们就可完成我们想完成的任何操作了。但通过FilterInputStream和FilterOutStream的子类,我们可以为stream添加属性。下面以一个例子来说明这种功能的作用。
如果我们要往一个文件中写入数据,我们可以这样操作:
FileOutStream fs = new FileOutStream(“test.txt”);
然后就可以通过产生的fs对象调用write()函数来往test.txt文件中写入数据了。但是,如果我们想实现“先把要写入文件的数据先缓存到内存中,再把缓存中的数据写入文件中”的功能时,上面的API就没有一个能满足我们的需求了。但是通过FilterInputStream和FilterOutStream的子类,为FileOutStream添加我们所需要的功能。
2.2 FilterInputStream的各种类型
2.2.1 用于封装以字节为导向的InputStream
1) DataInputStream:从stream中读取基本类型(int、char等)数据。
2) BufferedInputStream:使用缓冲区
3) LineNumberInputStream:会记录input stream内的行数,然后可以调用getLineNumber()和setLineNumber(int)
4) PushbackInputStream:很少用到,一般用于编译器开发
2.2.2 用于封装以字符为导向的InputStream
1) 没有与DataInputStream对应的类。除非在要使用readLine()时改用BufferedReader,否则使用DataInputStream
2) BufferedReader:与BufferedInputStream对应
3) LineNumberReader:与LineNumberInputStream对应
4) PushBackReader:与PushbackInputStream对应
2.3 FilterOutStream的各种类型
2.2.3 用于封装以字节为导向的OutputStream
1) DataIOutStream:往stream中输出基本类型(int、char等)数据。
2) BufferedOutStream:使用缓冲区
3) PrintStream:产生格式化输出
2.2.4 用于封装以字符为导向的OutputStream
1) BufferedWrite:与对应
2) PrintWrite:与对应
3. RandomAccessFile
1) 可通过RandomAccessFile对象完成对文件的读写操作
2) 在产生一个对象时,可指明要打开的文件的性质:r,只读;w,只写;rw可读写
3) 可以直接跳到文件中指定的位置
4. I/O应用的一个例子
import java.io.*;
public class TestIO{
public static void main(String[] args)
throws IOException{
//1.以行为单位从一个文件读取数据
BufferedReader in = 
new BufferedReader(
new FileReader("F://nepalon//TestIO.java"));
String s, s2 = new String();
while((s = in.readLine()) != null)
s2 += s + "/n";
in.close();

//1b. 接收键盘的输入
BufferedReader stdin = 
new BufferedReader(
new InputStreamReader(System.in));
System.out.println("Enter a line:");
System.out.println(stdin.readLine());

一种白平衡增益计算中白点权重计算简易实现方式 一种白平衡白点距离权重简易实现方式 阅读详情

相关推荐

InSAR数据获取实战指南:Sentinel-1、精密轨道与ALOS PALSAR DEM的下载与应用

本文详细介绍了InSAR数据获取的实战指南,重点解析Sentinel-1数据、精密轨道数据(OPOD)和ALOS PALSAR DEM的下载与应用技巧。通过实际案例和代码示例,帮助读者掌握数据筛选、下载加速、校验及多源数据协同使用的关键方法,提升地面形变监测的精度与效率。

weixin_29215815的博客 433

Java IO系统

Java IO系统 (1)先理解字节和字符的区别 计算机中存储信息的最小单位为bit(位),二进制的一个'0'或'1'叫1位 计算机中存储信息的基本单位为byte(字节),8个二进制位组成1个字节,一般而言:一个英文字母占一个字节,一个汉字占2个字节 字符是一种符号,比如:1,2,*,=,等,在不同的编码标准下字符所占的字节长度不同, 比如:在ASCII码中,一个...

凑和吧的博客 190

AI工程化之生成式UI & A2UI(一)

本文系统介绍了生成式UI和Google A2UI技术。生成式UI通过AI直接生成前端代码(完全生成式)或DSL(混合式),实现千人千面的动态界面和研发提效。Google A2UI提出组件级和消息级协议,采用JSON规范实现渲染框架解耦,支持多端渲染。文章详细阐述了A2UI的架构设计,包括协议生成、服务端处理和渲染器实现,并对比了与传统前端框架的差异,指出A2UI本质是UI=F(AI(UI)+AI(state))的创新模式。最后通过playground项目展示了A2UI的实践应用。

qq_34306228的博客 592

java io系统_JAVA IO之系统IO

JAVA IO之系统IO基本概念VFS(Virtual File System):VFS(virtual File System)的作用就是采用标准的Unix系统调用读写位于不同物理介质上的不同文件系统,即为各类文件系统提供了一个统一的操作界面和应用编程接口。VFS是一个可以让open()、read()、write()等系统调用不用关心底层的存储介质和文件系统类型就可以工作的粘合层。FD(File...

weixin_32831131的博客 202

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全

SOLIDWORKS无法获得下列许可 无效的使用许可号码(-8,544,0) 解决办法大全。版本:SolidWorks2021。电脑:惠普战66四代。软件安装不困难!

qq_43596278的博客 11万+

WS2812B非标准通信协议:手把手实现精准时序控制

详解WS2812B的精准时序实现原理,剖析其非标准通信协议的关键细节。通过实际操作指导,帮助开发者稳定驱动ws2812b灯带,解决常见时序偏差问题,提升项目显示效果与响应一致性。

weixin_42584586的博客 587

java中io操作详解_Java语言中的IO系统详解

Java语言中的IO系统Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在具体使用中很多初学者对Java.io包的使用非常含糊,本文将详细解说关于Java.io的使用。1.stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO系统中...

weixin_29144945的博客 503

基于PSINS的INS/NHC/ODO组合导航仿真全解析

组合导航通过多传感器融合克服单一导航系统的局限,是车辆自主定位的关键技术。其中惯性导航(INS)依靠陀螺仪与加速度计积分推算运动状态,但误差随时间累积;GNSS提供绝对位置,却在城市峡谷中易受多径效应和遮挡影响导致定位漂移。卡尔曼滤波作为信息融合核心,将不同量测按统计特性加权,实现优势互补。基于PSINS开源工具箱搭建的SINS/GNSS/ODO/NHC组合导航仿真,能够在GNSS失锁条件下利用非完整约束和里程计抑制惯性误差发散,广泛应用于无人驾驶、物流车辆自主定位等场景。本文围绕PSINS仿真环境,详细拆

weixin_29044713的博客 255

JAVA IO系统简介

最近学习IO系统,写两篇文章,第一篇介绍IO系统基础知识,即什么为io系统,流的概念,流的类型即输入流输出流,字节流或字符流,第二篇介绍常用的IO流的通常用法,即流的应用。 Java io系统简介: I/O是Input/Output的缩写, I/O技术是非常实用的技术,用于 处理设备之间的数据传输。如读/写文件,网络通讯等。通常情况下。程序读入数据,对于数据修改之后写出到指定位置,这整个过程即为JAVA io系统的工作,对于数据的输入/输出操作以“流(stream)” 的方式进行较为通俗的理解:将Ja

尚拙的博客 401

Halcon图片拼接避坑指南:特征点匹配常见问题与解决方案

本文深入解析Halcon图片拼接中特征点匹配的常见问题与解决方案,涵盖特征点提取、匹配优化及变换模型选择等关键环节。针对工业视觉检测中的拼接错位、重影等问题,提供参数调优、图像预处理和算法选择等实战技巧,帮助开发者高效避坑并提升拼接精度。

weixin_28694169的博客 200

PCL 逐点插入法构建Delaunay三角网(C++详细过程版)

点云构建Delaunay三角网的逐点插入法基于PCL点云库的C++详细过程版实现

点云侠的博客 2992

从操作系统底层彻底理解Java IO演进之路

本文从操作系统调用的角度,分析了Java中四种I/O模型(BIO、NIO、IO多路复用、AIO)的优缺点及适用场景。BIO是同步阻塞I/O,适用于连接数较少的场景,但并发性能较差。NIO是同步非阻塞I/O,通过轮询I/O事件提高并发性能,适用于高并发服务器应用。IO多路复用通过内核通知应用程序哪些连接有数据,减少了线程数量,适用于高并发场景。AIO是异步I/O,由操作系统完成I/O操作后通知应用程序,适用于高并发网络应用如聊天室。每种模型都有其特定的使用场景和性能特点,开发者应根据实际需求选择合适的I/O模

m0_74447524的博客 1196

【主题建模】一种基于深度学习的主题建模方法:BERTopic(理论篇)

在我的博客中已经写了很多关于主题建模的内容,当你准备了解 BERTopic 时,默认你已经知道了 LSA、pLSA、NFM、LDA 等传统的主题建模方法。关于主题建模的前置知识我在这里不做赘述,感兴趣的同学可以看看我前几篇博客。学习 BERTopic 需要一定的机器学习基础,让我们一起开始吧!

Data · Model · Agent · Repeat 9896

JAVA的IO系统

利用Java进行略显底层应用开发的时候,其IO和多线程部分是两个比较大的难点。这篇文章对IO系统的概括条理很是清晰,有助于让你跳出Java像洋葱一样层层包括的IO迷宫。 1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型: 1.1 以字节为导向的stream 以字节为导...

凤涅盘 134

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java IO系统及IO模型详细笔记

学习Java IO系统,重点是学会IO模型,了解了各种IO模型之后就可以更好的理解Java IO。 java中IO系统可以分为Bio,Nio,Aio三种io模型 关于Bio,我们需要知道什么是同步阻塞IO模型,Bio操作的对象:流,以及如何使用Bio进行网络编程,使用Bio进行网络编程的问题 关于Nio,我们需要知道什么是同步非阻塞IO模型,什么是多路复用Io模型,以及Nio中的Buffer,Channel,

xgb2018的博客 548

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java io 系统_彻底明白Java的IO系统

java学习:彻底明白Java的IO系统文章来源:互联网一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out stream)都包括两种类型:1.1 以字节为导向的stream以字节为导向的stream,表示以字节为单位从stream中读取或往stream中写入信息。以字节为...

weixin_42517607的博客 142

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

攻克JAVA的IO系统

 对于JAVA的IO系统,从开始学习JAVA开始到现在,一直都晕的很后来工作了也没有用到,到了再后来,能看懂IO的程序!但是自己去写就麻烦了,一点都没有头绪很多东西都搞不清除!这个假期决定要一步步的攻克自己的弊端! 呵呵今天晚上从IO开始! 变学习变写这篇文章!希望能在文章结束的时候能搞定IO!       首先: “流”的理解                         

关于WEB开发的思考之O型血狮子 988

彻底明白 Java 语言中的IO系统

彻底明白 Java 语言中的IO系统作者:rq2_79    出处:论坛整理 Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在具体使用中很多初学者对Java.io包的使用非常含糊,本文将详细解说关于Java.io的使用。  一. Input和Output   1.

走向WEB开发 449

Java语言中的IO系统

Java语言中的IO系统   Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在具体使用中很多初学者对Java.io包的使用非常含糊,本文将详细解说关于Java.io的使用。   1.stream 代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接

博学而笃志,切问而近思 1924

详解java以及操作系统的IO模型

什么是IO? IO就是文件的输入和输出。计算机中处理数据都是要在内存中进行的,而文件又是存储在磁盘上的,所以无论从磁盘读取数据到内存,还是从内存写入数据到磁盘都要进行IO 操作,那么java中的IO模型都有哪些呢?和操作系统中的IO模型又有什么关系呢?

qq_40884264的博客 1104

操作系统/java中IO模型

现代的操作系统对于存储空间都有一套访问限制控制,所以将存储空间分成了用户空间和内核空间。用户空间负责给应用程序使用,应用程序可以访问用户空间内的数据,但是不可以访问内核空间中的数据;而内核程序可以访问计算机的所有存储空间,包括用户空间、内核空间以及硬件设备上的数据。所以当应用程序需要访问硬件设备上的数据或者是内核空间的数据时,就必须要通过内核空间的程序来实现。所以内核空间对外也提供了很多的函数,提供给了应用程序使用,让应用程序可以通过内核程序来访问想要的数据。

weixin_43162673的博客 329

java IO流进阶 模拟上传头像系统详解

对之前javaSE基础万字详解篇之IO流 的内容补充,用IO流来模拟上传头像的系统,代码中作了较为详细的注释,需要较扎实的javaSE基础。

优快云 / 稀土掘金/ B站 / GitHub: Cyan_RA9 2552

java IO系统

        java编程中有一个板块很让人头疼,但同时它又很重要,因为我们几乎每次做软件都会用到它,它就是IO系统。IO系统一开始学可能觉得没什么,因为接触的不多,但是在后面的学习中就会出现越来越多的类,每个类都有自己的特点,以及与其他类的相同点和异同点。这个时候整个IO系统就会变得复杂了,这个时候就需要这地掌握IO系统了,因为这种状态表明对于IO系统的学习已经到达一个需要突破的地步。    ...

hangeqq685042的专栏 978

彻底明白Java的IO系统

星期三 2007年04月11日彻底明白Java的IO系统 转载自http://hi.baidu.com/ahunspun/blog/item/0069084e9882a0cbd0c86a66.html一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源。在Java的IO中,所有的stream(包括Input和Out

数据就是一切 793

一文看懂java io系统

学习java IO系统,重点是学会IO模型,了解了各种IO模型之后就可以更好的理解java IO Java IO 是一套Java用来读写数据(输入和输出)的API。大部分程序都要处理一些输入,并由输入产生一些输出。Java为此提供了java.io包 java中io系统可以分为Bio,Nio,Aio三种io模型 关于Bio,我们需要知道什么是同步阻塞IO模型,Bio操作的对象:流,以及如何使...

qq_35783095的博客 228

彻底明白Java语言中的IO系统

彻底明白Java语言中的IO系统Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中IO是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入。在具体使用中很多初学者对Java.io包的使用非常含糊,本文将详细解说关于Java.io的使用。  一. Input和Output   1. stream代表的是任何有能力产出数据的数据源,

maohaijun86123的专栏 350
上一篇: 计算机毕业论文
下一篇: Java的一个IO实例
sshack
博客等级 码龄20年 4粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值