JAVA IO

来源:互联网 发布:谁也知夜夜与她那内情 编辑:程序博客网 时间:2024/06/06 12:54
package iotest;






import java.io.*;


public class StreamTest {


/**
* 流的概念:
* 1、流是字节顺序的抽象概念。
* 2、文件是数据的静态存储形式、而流事是指数据传输时的形态。
* 3、流类分为两个大类:节点流和过滤流类(也叫处理流类)。


* InputStream类:
* 程序可以从中连续读取字节的对象叫输入流,在java中,用InputStream类来描述所有输入流的抽象概念。


* OutPutStream类:
* 程序可以向其中连续写入字节的对象叫输出流,在java中,用OutPutStream类来描述所有输出流的抽象概念。


* FuleInputStream和FileOutPutStream类分别用来创建磁盘文件的输入流个输出流对象、通过他们的构造函数来指点文件路径文件名。


* 创建FuleInputStream实例对象时,指定的文件应该是存在和可读的,创建FileOutPutStream实例对象时,如果指定的文件已经存在,这个文件中的原来内容将被覆盖清楚。


* 对同一个磁盘文件创建FuleIntputStream对象的两种方式:
* (1)、FileInPutStream inOne = new FileInPutStream("hello.test");
* (2)、File f = new ("hello.test");
     *       FileInPutStream inTwo = new FileInPutStream(f);
 
* 创建FileOutPutStream实例对象时,可以指定还不存在的文件名,不能指定一个已被其他程序打开了的文件。


* 例题:用FileOutPutStream类向文件中写入一个字符串,然后用FileInPutStream读出写入的内容
* @param args
* @throws IOException 
*/
public static void main(String[] args) throws IOException {

/* FileOutputStream类:文件输出流是用于将数据写入 File 或 FileDescriptor 的输出流。


* FileOutputStream(String name)构造:创建一个向具有指定名称的文件中写入数据的输出文件流。

*/
FileOutputStream fout = new FileOutputStream("hzw//hello.txt");


/*
* Writer方法: b.length 个字节从指定 byte 数组写入此文件输出流中。

* String.getBytes()方法用于将字符串转换为字节数组
*/
fout.write("www.hzw.com".getBytes());


//关闭流
fout.close();


/*
* 创建一个file对象: 文件和目录路径名的抽象表示形式。

* File(String name)构造:通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
*/
File f = new File("hzw//hello.txt");

/*
* FileInputStream类:用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader。

* FileInputStream(File file)构造:通过打开一个到实际文件的连接来创建一个 FileInputStream,
*                                 该文件通过文件系统中的 File 对象 file 指定。
*/
FileInputStream input = new FileInputStream(f);

/*
* 创建一个byte(字节)类型数组
*/
byte[] by = new byte[1024];

/*
* read方法:从此输入流中读取一个数据字节。

* read(byte[] b)方法:从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。

* 返回:读入缓冲区的字节总数,如果因为已经到达文件末尾而没有更多的数据,则返回 -1。
*/
int len = input.read(by);


/*
* String(by,0,len)构造: 用于将by数组转换成字符串——从0开始到len(Int变量值)结束
*/
System.out.println(new String(by,0,len));

//关闭流
input.close();
























}


}