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)

文件名的处理

时间: 2024-10-09 22:09:12

Java 输入/输出 反射的相关文章

Java 输入/输出(I/O)学习笔记 -- 流

在 Java API 中,可以从其中读入一个字节序列的对象称做输入流,而可以向其中写入一个字节序列的对象称做输出流.这些字节序列的来源地和目的地可以是文件,而且通常都是文件,但是也可以是网络连接,甚至是内存块.抽象类 InputStream 和 OutputStream 构成了输入 / 输出(I/O)类层次结构的基础. InputStream 类有一个抽象方法: abstract int read() 这个方法将读入一个字节,并返回读入的字节,或者在遇到输入源结尾时返回 -1.在设计具体的输入流

Java 输入/输出——流体系(处理流)

关于使用处理流的优势,归纳起来就是两点:(1)对于开发人员来说,使用处理流进行输入/输出操作更简单:(2)使用处理流执行效率更高. 下面程序使用PrintStream处理流来包装OutputStream,使用处理流后的输出流在输出时将更加方便. 1 package com.zyjhandsome.io; 2 3 import java.io.*; 4 5 public class PrintStreamTest { 6 7 public static void main(String[] arg

Java 输入/输出(I/O)学习笔记 -- 文件输入与输出

在保存数据时,可以选择二进制格式或文本格式.例如,整数 1234 存储成二进制数时,它被写为由字节 00 00 04 D2 构成的序列(十六进制表示法) ,而存储成文本格式时,它被存成了字符串" 1234" .尽管二进制格式的 I/O 高速且高效,但是不宜人来阅读. 读写文本数据 在存储文本字符串时,需要考虑字符编码(character encoding)方式.在 UTF-16 编码方式中,字符串" 1234"编码为 00 31 00 32 00 33 00 34

Java 输入/输出——File类

File类是java.io包下代表与平台无关的文件和目录,也就是说,如果希望在程序中操作文件和目录,都可以通过File类来完成.值得指出的是,不管是文件还是目录都是使用File来操作的,File能新建.删除.重命名文件和目录,File不能访问文件内容本身.如果需要访问文件内容本身,则需要使用输入/输出流. File类相关的方法参考链接:https://docs.oracle.com/javase/9/docs/api/overview-summary.html Field Summary Fie

Java 输入/输出——重定向标准输入/输出

在System类中提供了如下三个重定向标准输入/输出方法. static void setErr?(PrintStream err) Reassigns the "standard" error output stream.(重定向"标准"错误输出流) static void setIn?(InputStream in) Reassigns the "standard" input stream.(重定向"标准"输入流) st

Java 输入/输出——理解Java的IO流

1.流的分类 (1)输入流和输出流(划分输入/输出流时是从程序运行所在内存的角度来考虑的) 输入流:只能从中读取数据,而不能向其写入数据. 输出流:只能向其写入数据,而不能从中读取数据. 输入流主要由InputStream和Reader作为基类,输出流主要由OutputStream和Writer作为基类.它们都是抽象基类,无法直接创建实例. (2)字节流和字符流 字节流和字符流的用法几乎完全一样,区别在于字节流和字符流操作的数据单元不同--字节流操作的数据单元是8-bit的字节,而字符流操作的数

TIJ -- 任务间使用管道进行输入/输出

1. 通过输入/输出在线程间进行通信通常很有用.提供线程功能的类库以"管道"的形式对线程间的输入/输出提供了支持.它们在Java输入/输出类库中的对应物就是PipedWriter类(允许任务向管道写)和PipedReader类(允许不同任务从同一个管道中读取).这个模型可以看成是"生产者 - 消费者"问题的变体,这里的管道就是一个封装好的解决方案.管道基本上是一个阻塞队列,存在于多个引入BlockingQueue之前的Java版本中. 2. 下面是一个简单例子,两个

Java的输入/输出操作

Java的输入\输出机制 计算机的基本功能就是通过输入输出设备与外部其他设备尽心数据的交互,从其他设备读入数据叫做输入操作,将计算机内的数据写入到其他设备叫做输出操作.可以向计算机发送数据.又可以接受计算机数据的设备叫做输入/输出(I/O)设备,例如磁盘.网络等. Java中主要按照一种方式进行数据交换——流(Stream)的方式.流方式就好比是建立在数据交换源与目的地之间的一条通信路径.但是数据在作为流在该路径中进行传输.数据流的走向是有方向的,相对于计算机而言,传向计算机的数据流叫做输入流(

java 的输入/输出

java 的输入/输出java的 I/O是通过java.io包下的类和接口支持,其中最重要的是5个类,分别是 File,OutputStream,InputStream, Write,Reader及一个接口Serializable.File类:可以对文件进行操作字节流:(OutputStream/InputStream),可以使用字节流读取文件内容字符流:(Writer/Reader)转换流:(InputStreamReader/OutputStreamWriter)将字节流转换为字符流缓冲流: