FileOutPutStream 和FileInPutStream:java
- package iotest;
- import java.io.*;
- public class StreamTest {
- /**
- * 流的概念:
- * 一、流是字节顺序的抽象概念。
- * 二、文件是数据的静态存储形式、而流事是指数据传输时的形态。
- * 三、流类分为两个大类:节点流和过滤流类(也叫处理流类)。
- * 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();
- }
- }
FileWriter、FileReader类:数组
- package iotest;
- import java.io.*;
- public class IoStringTest {
- /**
- * java 中专门有两个类分别对字符串进行输入跟输出处理。Reader、Writer类
- *
- * 使用FileWriter类向文件中写入一个字符串,而后用FileReader类读出写入的内容
- *
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- /*
- * FileWriter(继承OutputStreamWriter类 ):用来写入字符文件的便捷类。
- *
- * FileWriter(String name):根据给定的文件名构造一个 FileWriter 对象。
- */
- FileWriter wr = new FileWriter("hzw//tiantian.txt");
- /*
- * write:继承OutputStreamWriter类 write方法——的写入字符串。
- */
- wr.write("何祖文");
- //有兴趣的能够把这句代码删掉试试!!!
- wr.close();
- char[] ch = new char[1024];
- /*
- * FileReader(继承InputStreamReader类):用来读取字符文件的便捷类。
- *
- * FileReader(String fileName):在给定从中读取数据的文件名的状况下建立一个新 FileReader。
- */
- FileReader re = new FileReader("hzw//tiantian.txt");
- /*
- * read:继承InputStreamReader类的read方法——试图将字符读入指定的字符缓冲区。
- *
- * 返回:添加到缓冲区的字符数量,若是此字符源位于缓冲区末端,则返回 -1
- */
- int len = re.read(ch);
- System.out.println(new String(ch,0,len));
- re.close();
- }
- }