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修饰的成员变量(实例 ...
随机推荐
- Flutter - 左右侧滑菜单:drawer和endDrawer
侧滑菜单可以从左面滑出,也可以从右面滑出.在Scaffold中有drawer和endDrawer两个参数,分别对应左边的菜单和右边的菜单. drawer: new Drawer( child: new ...
- Flutter - Error: 'xxx' is imported from both package...
Compiler message: lib/main.dart:77:32: Error: 'Toast' is imported from both 'package:easy_alert/src/ ...
- Flutter - Finished with error: FormatException: Bad UTF-8 encoding 0xc3 (at offset 169)
方案1: 更改项目的Encoding方式 File -> Settings -> Editor, choose "File Encodings", change Pr ...
- 网络知识 ACL NAT IPv6
第1章 ACL 访问控制列表 访问控制表(Access Control List,ACL),又称存取控制串列,是使用以访问控制矩阵为基础的访问控制方法,每一个对象对应一个串列主体. 访问控制表描述每一 ...
- 爬取代理IP
现在爬虫好难做啊,有些网站直接封IP,本人小白一个,还没钱,只能找免费的代理IP,于是去爬了西刺免费代理,结果技术值太低,程序还没调试好, IP又被封了... IP又被封了... IP又被封了... ...
- JMeter做http接口压力测试
测前准备 用JMeter做接口的压测非常方便,在压测之前我们需要考虑这几个方面: 场景设定 场景分单场景和混合场景.针对一个接口做压力测试就是单场景,针对一个流程做压力测试的时候就是混合场景,需要多个 ...
- InsertionSort 直接插入排序(java)
排序思想: 相当于一堆数字,一开始先取出2个数排序,2个数排好序之后,再从一堆数字里面取一个数排序,直到结束伪代码: INSERTION_SORT(A) for j = 2 to A.length k ...
- SICP读书笔记 2.2
SICP CONCLUSION 让我们举起杯,祝福那些将他们的思想镶嵌在重重括号之间的Lisp程序员 ! 祝我能够突破层层代码,找到住在里计算机的神灵! 目录 1. 构造过程抽象 2. 构造数据抽象 ...
- 基于WebSocket协议的性能测试
互联网应用时代,用户获取信息的方式从传统媒体到新媒体,信息时效性对通信技术要求越来越高, HTTP协议已经不能适用.于是WebSocket出现了,它实现浏览器与服务器的全双工通信,服务端主动向客户端发 ...
- 三羊献瑞:next_permutation()
三羊献瑞 观察下面的加法算式: 祥 瑞 生 辉 + 三 羊 献 瑞------------------- 三 羊 生 瑞 气 (如果有对齐问题,可以参看[图1.jpg]) 其中,相同的汉字代 ...