Java 输入/输出 反射
Java 输入/输出 反射
输入输出和反射
一、数据流的基本概念
流一般分为
(
Input
Stream
)
和输出流
(
Output
Stream
)
两类,但这种划分并不是绝对的。比如一个文件,当向其中写数
据时,它就是一个输出流;当从其中读取数据时,它就是一个输
入流。当然,键盘只是一个数人流,而屏幕则只是一个输出流。
java
的标准数据流:
标准输入输出指在字符方式下
(如
DOS
)
,
程序与系统进行交互的方式,分为三种:
标准输入
studin,
对象是键盘。
标准输出
stdout,
对象是屏幕。
标准错误输出
stderr,
对象也是屏幕。
二、
java.io
包中的数据流和文件类
字节流:从
InputStream
和
OutputStream
派生出来的一系列
类。这流以字节
(byte)
为基本处理单位。
InputStream
、
OutputStream
FileInputStream
、
FileOutputStream
PipedInputStream
、
PipedOutputStream
ByteArrayInputStream
、
ByteArrayOutputStream
FilterInputStream
、
FilterOutputStream
DataInputStream
、
DataOutputStream
BufferedInputStream
、
BufferedOutputStream
字符流:
从
Reader
和
Writer
派生出的一系列类,
这类流以
16位的Unicode
码表示的字符为基本处理单位。
Reader
、
Writer
InputStreamReader
、
OutputStreamWriter
FileReader
、
FileWriter
CharArrayReader
、
CharArrayWriter
PipedReader
、
PipedWriter
FilterReader
、
FilterWriter
BufferedReader
、
BufferedWriter
StringReader
、
StringWriter
三、字节流方法
InputStream
和
OutputStream
read()
:从流中读入数据
skip()
:跳过流中若干字节数
available()
:返回流中可用字节数
mark()
:在流中标记一个位置
reset()
:返回标记过得位置
markSupport()
:是否支持标记和复位操作
close()
:关闭流
int
read()
:
从输入流中读一个字节,形成一个
0
~
255
之间
的整数返回(是一个抽象方法)
。
int read(byte b[]) :
读多个字节到数组中。
int read(byte b[], int off, int len)
:从输入流中读取长
度为
len
的数据,写入数组
b
中从索引
off
- 开始的位置,并返回读
取得字节数。
write(int b) :
将一个整数输出到流中(只输出低位字节,
抽象)
write(byte b[]) :
将字节数组中的数据输出到流中
write(byte b[], int off, int len) :
将数组
b
中从
off
指
定的位置开始,长度为
len
的数据输出到流中
flush()
:刷空输出流,并将缓冲区中的数据强制送出
close()
:关闭流
注:
进行
I/O
操作时可能会产生
I/O
例外,
属于非运行时例外,
应
该
在
程
序
中
处
理
。
如
:
型
FileNotFoundException,
EOFException, IOException
四、文件操作类的方法
File
类
File
类声明如下:
public
class
File
ectends
Object
implements
Serializable,Comparable
构造方法:
public File(String pathname)
public File(File patent,String child)
public File(String patent,String child)
文件名的处理
Java 输入/输出 反射的更多相关文章
- Java输入/输出教程
Java输入/输出(I/O)处理从源读取数据并将数据写入目标.通常,读取存储在文件中的数据或使用I/O将数据写入到文件中. java.io和java.nio包中包含处理输入/输出的Java类.java ...
- Java 输入/输出——处理流(RandomAccessFile)
RandomAccessFile是Java输入/输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出数据.与普通的输入/输出流不同的是,Ra ...
- Java 输入/输出——处理流(BufferedStream、PrintStream、转换流、推回输入流)
关于使用处理流的优势,归纳起来就是两点:(1)对于开发人员来说,使用处理流进行输入/输出操作更简单:(2)使用处理流执行效率更高. 1.BufferedInputStream/BufferedOutp ...
- Java 输入/输出——Java虚拟机读写其它进程的数据
使用 Runtime对象的exec()方法可以运行平台上的其它程序,该方法产生一个Process对象,Process对象代表由该Java程序启动的子进程.Process类提供了如下三个方法,用于让程序 ...
- Java 输入/输出——重定向标准输入/输出
在System类中提供了如下三个重定向标准输入/输出方法. static void setErr(PrintStream err) Reassigns the "standard" ...
- Java 输入/输出——字节流和字符流
1.流的分类 (1)输入流和输出流(划分输入/输出流时是从程序运行所在内存的角度来考虑的) 输入流:只能从中读取数据,而不能向其写入数据. 输出流:只能向其写入数据,而不能从中读取数据. 输入流主要由 ...
- Java 输入/输出——File类
File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成.值得指出的是,不管是文件还是目录都是使用File来操作的,File能新建 ...
- JAVA输入/输出系统中的其他流学习笔记
一.字节数组流 字节数组流类能够操作内存中的字节数组,它的数据是一个字节数组.字节数组流类本身适配器设计模式,它把字节数组类型转为流类型使得程序能够对字节数组进行读写操作. 1.ByteArrayIn ...
- Java 输入/输出——处理流(ObjectIO)
Object流:直接将Object流写入或读出. TestObjectIO.java transient关键字(英文名:透明的,可以用来修饰成员变量(实例变量),transient修饰的成员变量(实例 ...
随机推荐
- UWP DEP0700: 应用程序注册失败。[0x80073CF9] 另一个用户已安装此应用的未打包版本。当前用户无法将该版本替换为打包版本。
最近电脑抽风,我在[应用程序和功能]中重置了以下我的App自然灾害,居然,搞出大新闻了. 它居然从列表中消失了... vs再次编译代码的时候,提示 严重性 代码 说明 项目 文件 行 禁止显示状态 错 ...
- python+appium 实现qq聊天的消息,滑动删除聊天消息
有人问我,appium怎么去删除qq聊天的, 当时想到的是滑动, 可是具体的大概有个思路,于是乎,就想自己来实现下, 打开模拟器,开发者选项,找到显示坐标的 然后去打开qq获取要删除的消息的坐标后, ...
- Microsoft Visual Studio International Pack
Visual Studio International Pack 包含一组类库,该类库扩展了.NET Framework对全球化软件开发的支持.使用该类库提供的类,.NET 开发人员可以更方便的创建支 ...
- Jupyter安装及运行
一.安装(来自http://jupyter.org/install) Ctrl+Alt+T(Manjaro系统),打开控制台,su进入root权限 输入如下命令: python3 -m pip ins ...
- pandas安装以及出现的问题
pandas安装以及出现的问题 1.pandas 安装 pandas是Python的第三方库,所以使用前需要安装一下,直接使用pip install pandas就会自动安装,安装成功后显示的以下的信 ...
- tomcat7时遇到启动报错问题 SEVERE: ContainerBase.addChild: start:
个人说明:错误日志确实是我的,方法都是从其他地儿借鉴过来的,但肯定是能解决错误的方法,亲身体验,安全保障!!! 还有遇到这种问题,多启动几遍可能就行了. 错误日志: SEVERE: Container ...
- Unity优化方向——优化Unity游戏中的垃圾回收(译)
介绍 当我们的游戏运行时,它使用内存来存储数据.当不再需要该数据时,存储该数据的内存将被释放,以便可以重用.垃圾是用来存储数据但不再使用的内存的术语.垃圾回收是该内存再次可用以进行重用的进程的名称. ...
- java四种访问权限修饰符
java中四个访问权限修饰符: public(公开的).protected(受保护的).default(默认的).private(私有的). 它们决定了紧跟其后被定义的东西的使用范围. 适用范围< ...
- 监控与管理-SpringBoot
在微服务架构中,我们将原本庞大的单体系统拆分成多个提供不同服务的应用. 虽然 各个应用的内部逻辑因分解而得以简化,但是由于部署应用的数量成倍增长,使得系统的 维护复杂度大大提升. 对于运维人员来说,随 ...
- JavaScript学习笔记(七)—— 再说函数
第八章 函数 1 函数声明和函数表达式 差别一:函数声明:函数在执行代码前被创建:函数表达式是在运行阶段执行代码时创建: 差别二:函数声明创建一个与函数同名的变量,并让她指向函数:使用函数表达式,不给 ...