1.FileReader类的应用
package com.jsu.java;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader;
public class Demo001 {
public static void main(String[] args) throws IOException {
StringBuffer stringBuffer = new StringBuffer(); //保存字符
File file = new File("D:\\zsh\\aaa.txt");//创建文件对象
Reader fr = null;
fr = new FileReader(file);//实例化FileReader对象
//从中读取若干字符并处理
char [] cbuf = new char[1024];
int hasData = 0;
//从流中循环读取字符,hasData>0表示没有到流尾
while((hasData = fr.read(cbuf))>0){
stringBuffer.append(cbuf);//把读取的字符数组追加到StringBuffer对象
System.out.println(stringBuffer.toString());//把StringBuffer对象转换成字符串并且输出
}
fr.close();//关闭输入流
}
}
2.FileWriter类向文件追加内容
package com.jsu.java;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class Demo002 {
public static void main(String[] args) throws IOException {
File file = new File("D:\\zsh\\temp.txt");//建立文件对象
FileWriter fileWriter = new FileWriter(file,true);//采用追加方式实例化字符
String str1 = "Knowledge is power";
String str2 = "爱国,敬业,诚信,友善";
fileWriter.write(str1.toCharArray());//向输出流写入字符数组
fileWriter.write(str2);//向输出流写入字符串
fileWriter.close();//关闭输出流
}
}
3.字符数组流
package com.jsu.java;
import java.io.CharArrayReader;
import java.io.CharArrayWriter;
import java.io.IOException;
public class Demo003 {
public static void main(String[] args) throws IOException{
char []buff = new char[]{'g','o','o','d','好','吗'};//字符数组
CharArrayReader charArrayReader = new CharArrayReader(buff);//实例化字符数组输入流
CharArrayWriter charArrayWriter = new CharArrayWriter();实例化字符数组输出流
int temp; //临时变量
while((temp = charArrayReader.read()) != -1){//从字符数组输入流中循环读取字符
charArrayWriter.write(Character.toUpperCase(temp));//向字符数组输出流写入已转换大写字母的字符
}
charArrayReader.close();//关闭字符数组输入流
charArrayWriter.close();//关闭字符数组输出流
System.out.println(charArrayWriter.toCharArray());//转换为字符数组并输出
}
}
4.PrintWriter类的应用
package com.jsu.java;
import java.io.*;
import java.nio.Buffer;
public class Demo004 {
public static void main(String[] args) throws IOException {
String FileName = "D:\\zsh\\temp.txt";//目标文件名
File file = new File(FileName);//实例化文件对象
//使用装饰器模式实例化字符打印输出流对象
PrintWriter printWriter = new PrintWriter(new BufferedWriter(new FileWriter(file)));
//使用装饰器模式实例化字符缓冲输入流对象
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
boolean flag = true;//设计循环标记位
String temp = null;
System.out.println("开始输入数据,直到stop停止输入");
while(true){
temp = bufferedReader.readLine();//读取一行数据
if("stop".equals(temp)){
break;//停止输入
}
printWriter.print(temp);//把读取的数据写到输出流
}
printWriter.flush();//把缓冲区的数据写到输出流
bufferedReader.close();//关闭输入流
printWriter.close();//关闭输出流
}
}