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)
文件名的处理