JAVA订单的输入输出_Java中的输入输出流

流的概念:

1.对字节进行操作的 InputStream.OutputStream 类

in是进行读数据,out是往出输出数据,这个号容易进行搞混的.

InputStream和OutputStream最常用的子类

FileInputStream 和 FileOutputStream对字节数据进行操作

DataInputStream可以进行二进制操作

2.对字符串操作的 Reader.Writer类

Reader.Writer的子类BufferedReader.BufferedWrite可以对字符串操作

-----------------------接下来对两个概念详细解说----------------------------

InputStream的体系结构

InputStream方法

OutputStream的体系结构

OutputStream方法

InputStream体系结构

4A88DFDC132043CBA09A2CBF3BAAECBD

InputStream方法

InputStream方法

int read()

从输入流中读取单个字节,返回读取字节数据

int read(byte[] b)

从输入流中读取最多b.leng长度的字节,储存在字节数组b中,返回时间读取的字节数.

int read(byte[] b, int off, int len)

从输入流中读取做多len长度的字节,保存到字节数组b中,保存的位置从off开始

void close()

关闭输入流

int available()

返回可以从输入流读取的字节书面

skip(long n)

从输入流中跳过参数n制定数目的字节

mark(int readlimit)

标记输入流当前位置,一遍用reset()方法复位到改标记的位置

void reset()

讲当前位置复位为上次调用mark()方法标记的位置

FileInputStream的构造方法

FileInputStream(File file)

file指定文件数据源头

FileInputStream(String name)

name指定文件数据源,包含路径信息

示例代码

1 /*package whatever; // don't place package name!*/

2

3 import java.util.*;4 import java.lang.*;5 import java.io.*;6

7 /*Name of the class has to be "Main" only if the class is public.*/

8 classInputStream9 {10 public static void main (String[] args) throwsjava.lang.Exception11 {12 FileInputStream fis = new FileInputStream("H:\\app\\test.txt");13

14 intdata;15

16 System.out.println("可读取的字节数:"+fis.available());17

18 //将字节转换成字符串

19 while((data = fis.read())!=-1){20

21 char c = (char)data;22

23 System.out.println(c);24 }25

26 fis.close();27 }28 }

OutputStream体系结构

C5DF593548C64BF0A0126E13618461C5

OutputStream方法

4009820.html

void write(int c) 将指定的字节输出到输入流中

void write(byte[] buf) 将字节数组的输出到输出流中

void write(byte[] b, int off, int len) 将字节数组中off位置开始,长度为len的字节数据输出到输出流中

void close() 关闭输出流

void flush() 强制吧任何被缓冲的已写数据输出到输出流

FileOutputStream方法

FileOutputStream(File file)  file文件名指定文件接收数据对象

FileOutputStream(String name) name指定接收对象,包含路径信息

FileOutputStream(String name, boolean append) append 若为 true,则在文件末尾添加数据.

示例代码

1 import java.util.*;2 import java.lang.*;3 import java.io.*;4

5 /*Name of the class has to be "Main" only if the class is public.*/

6 classOutputStream7 {8 public static voidmain (String[] args)9 {10

11 try{12

13 String str = "这是输出流的示例"

14

15 byte[] words = str.getBytes();//将str字符串解码放入字节数组中.

16

17 FileOutputStream fos;18

19 fos = new FileOutputStram("H:\\app\\test.txt");20

21 fos.write(words,0,words.length);22

23 System.out.println("提示文件已经更新");24 //记得关闭输出流

25 fos.close();26

27 }catch(FileNotFoundException e){28 e.printStackTrace();29 }catch(IOException e){30 Sysout.out.println("创建文件时出错");31 }32

33 }34 }

Reader体系结构

2CBC00A0E7B64A9FBB78AB474D70CBF7

Reader方法

int read() 从输入流中读取单个字符,返回所读取的字符数据

int read(char[] c) 从输入流中读取c.length长度的字符,保存到字符数组c中,返回实际读取的字符数

int read(char[] c, int off, int len) 从输入流中读取最多len的长度字符,保存到字符数组c中,保存的位置从

off位置开始,返回实际读取的字符串长度

void close() 关闭流

boolean ready() 如果要读的流已经准备好,返回true,否则false

skip(long n) 从输入流中跳过参数 n 指定数目的字符

mark( int readlimit ) 标记输入流中当前的位置,以便用reset()复位到该标记

void reset() 将当前位置复位为上次调用mark()方法标记的位置

BufferedReader的构造方法

BufferedReader(Reader in) 参数in指定被装饰的Reader类

BufferedReader(Reader in, int sz) 参数sz指定缓冲区的大小,字符 为单位.

示例代码

1 classCharReder2 {3 public static voidmain (String[] args)4 {5 try{6

7 FileReader fr = new FileReader("H:\\app\\test.txt");8

9 BuferedReader br = newBufferedReader(fr);10

11 String line =br.readLine();12 while(line!=null){13

14 System.out.println(line);15 line =br.readLine();16

17 }18 br.close();19 fr.close();20 }catch(IOException e){21 Sysout.out.println("文件不存在");22 }23 }24 }

BufferedWriter的构造方法

BufferedWriter(Writer out) 参数out指定被装饰的Writer类

BufferedWriter(Writer out, int sz) 参数sz 指定缓存区的大小,字符为单位

示例代码

1 classCharWriter2 {3 public static voidmain (String[] args)4 {5 try{6

7 FileWriter fw;8

9 fw = new FileWriter("H:\\app\\test.txt");10

11 BufferedWriter bw = newBufferedWriter(fw);12 bw.write("你好,骚年");13 bw.write("我是....");14 bw.flush();15 fw.close();16 }catch(IOException e){17 Sysout.out.println("文件不存在");18 }19 }20 }

4009820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值