java 从零开始,学习笔记之基础入门<IO流>(十八)(二)

2014-11-24 08:29:19 · 作者: · 浏览: 1
=new FileOutputStream(file,true);
String str="sss+sss";
byte[] b=str.getBytes();
os.write(b);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
True 表示的是往对应的文件中输出信息,并且不覆盖之前文件中的内容。
Write方法的三个参数:
Byte[]—表示的是需要写出的数组
Off –-从文件的什么地方开始写起
Len –写出文件的长度
字符的输入流: Reader
Reader是一个字符流,它可以用来读取文字信息,它是一个抽象的类
对应的子类有:
BufferedReader,--字符缓冲输入流
CharArrayReader,--char型字符缓冲区
FilterReader, --过滤字符流
InputStreamReader, --输入字符流
PipedReader,--管道字符流
StringReader –字符输入流
对应的方法有:
abstract void
close() 关闭该流并释放与之关联的所有资源。
void
mark(int readAheadLimit) 标记流中的当前位置。
boolean
markSupported() 判断此流是否支持 mark() 操作。
int
read() 读取单个字符。
int
read(char[] cbuf) 将字符读入数组。
abstract int
read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
int
read(CharBuffer target) 试图将字符读入指定的字符缓冲区。
boolean
ready() 判断是否准备读取此流。
void
reset() 重置该流。
long
skip(long n) 跳过字符。
读一个文本文件,将信息输出来:
package com.ibm.input;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class ReaderDemo {
public static void main(String[] args) {
//读D盘下面的txt文件采用的方式是字符流读
File file=new File("d:"+File.separator+"ibm.txt");
try {
//创建字符流对象
Reader reader=new FileReader(file);
//创建字符缓冲流在构造器中传递的是字符流的对象
//使用BufferedReader这个类对Reader类进行封装是因为此类中有一个ReadLine方法可以返回一行的文本信息
BufferedReader br=new BufferedReader(reader);
String str=null;
while((str=br.readLine())!=null){
System.out.println(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//此种采用字符流读信息只适合在读取的数据是字符的情况下,不能用它来读字节文件
}
package com.ibm.input;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
public class ReaderDemo02 {
public static void main(String[] args) {
File file =new File("d:"+File.separator+"ibm.txt");
InputStream is;
try {
is = new FileInputStream(file);
Reader reader=new InputStreamReader(is);
char[] c=new char[1024];
int len=0;
//将Reader流中的数据读出来,并且放入到字符数组中去判断文件是否读完
while((len=reader.read(c))!=-1){
System.out.print(c);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Writer是一个字符输出流,可以将文本信息输出到文件中去,它也是一个抽象类
对应的子类有:
BufferedWriter,
CharArrayWriter,
FilterWriter,
OutputStreamWriter,
PipedWriter,
PrintWriter,
StringWriter
对应的方法:
Writer
append(char c) 将指定字符添加到此 writer。
Writer
append(CharSequence csq) 将指定字符序列添加到此 writer。
Writer
append(CharSequence csq, int start, int end) 将指定字符序列的子序列添加到此 writer.Appendable。
abstract void
close() 关闭此流,但