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修饰的成员变量(实例 ...
随机推荐
- VBA_把相同行一列追加数据到一行
Sub Test() Dim rowsNum, i, j, equalRowsNum As Integer rowsNum = ActiveSheet.UsedRange.Rows.Count '获得 ...
- Appium+python的单元测试框架unittest(1)(转)
unittest为python语言自带的单元测试框架,python把unittest封装为一个标准模块封装在python开发包中.unittest中常用的类有:unittest.TestCase.un ...
- Laya中的Image、Texture、WebGLImage
Image Image是Laya的一个UI组件,继承自Component. Image.bitmap属性,是AutoBitmap类型:AutoBitmap继承自Graphics,负责处理图片九宫格逻辑 ...
- mysql删除表中的记录
大家都知道,在MySQL中删除一个表中的记录有两种方法,一种是DELETE FROM TABLENAME WHERE... , 还有一种是TRUNCATE TABLE TABLENAME. DELET ...
- python虚拟环境管理之virtualenv,virtualenvwrapper,pipenv,conda
虚拟环境的作用 使python环境拥有独立的包,避免污染原本的python环境.为不同的项目创建不同的环境可以避免安装的库过于庞大和相互干扰. 例如你想在同一台机器上开发用python2和python ...
- Lwip:原生态的Linux socket应用如何移植到Lwip上
lwIP - A Lightweight TCP/IP stack 在上一篇中,我们了解到在OpenFastPath上如何移植原生态的Linux Socket应用程序,那么,对于另外一个老牌的小型TC ...
- Netty源码分析第2章(NioEventLoop)---->第3节: 初始化线程选择器
Netty源码分析第二章:NioEventLoop 第三节:初始化线程选择器 回到上一小节的MultithreadEventExecutorGroup类的构造方法: protected Multi ...
- 进阶:2.GBDT算法梳理
GBDT算法梳理 学习内容: 1.前向分布算法 2.负梯度拟合 3.损失函数 4.回归 5.二分类,多分类 6.正则化 7.优缺点 8.sklearn参数 9.应用场景 1.前向分布算法 在学习模型时 ...
- IPC_Binder_java_2
title: IPC_Binder_java_2 date: 2017-07-04 14:47:55 tags: [IPC,Binder] categories: [Mobile,Android] - ...
- linux压缩相关
tar命令 tar是打包,即把好多东西放在一个大文件里面,之后再压缩:当然也可以解包 tar的几个参数说明: -c 创建一个新的包 -x 将包里的文件还原出来 -t 显示包内文件的列表 -f 指定要处 ...