Java IO流(四)字符流
2017-11-22 本文已影响4人
Marlon666
FileWriter、FileReader 、StringWriter、StringReader、BufferedWriter、BufferedReader
本质都是对字符流的快速操作,仅仅是读入的方式不太一样,抽出来接口和使用的方法也有所不同。其次:BufferedWriter处理效率更高。
FileWriter 和 FileReader 用法
FileWriter 继承结构
'FileWriter extends OutputStreamWriter extends Writer'
'FileReader extends InputStreamReader extends Reader'
功能对File中字符流进行修改、写入和读取操作。
'''
FileWriter write = null;
try {
write = new FileWriter(fileName);
write.write("hell,io\n");
write.write("welcome to study\n");
write.write("加油,谢谢!");
write.close();
} catch (IOException e) {
e.printStackTrace();
}
'''
'''
try {
FileReader read = new FileReader(fileName);
int len = 0;
len = read.read();
while (len != -1) {
System.out.println("len:" + len);
}
} catch (IOException e) {
e.printStackTrace();
}
'''
简单的使用方法:
'''
try {
File file = new File("Hello1.txt");
// 创建文件
file.createNewFile();
// creates a FileWriter Object
FileWriter writer = new FileWriter(file);
// 向文件写入内容
writer.write("This\n is\n an\n example\n");
writer.flush();
writer.close();
// 创建 FileReader 对象
FileReader fr = new FileReader(file);
char[] a = new char[50];
fr.read(a); // 读取数组中的内容
for (char c : a)
System.out.print(c); // 一个一个打印字符
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
'''
'''
try {
StringWriter stringWriter = new StringWriter();
stringWriter.write("我是 一个");
stringWriter.append("Java 大神级别的人物");
stringWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
'''
StringWriter 、StringReader用法
'''
String text = "这是一个 StringReader 类";
StringReader stringReader = new StringReader(text);
try {
int len = stringReader.read();
while (len != -1) {
System.out.println("line:" + len);
}
stringReader.close();
} catch (IOException e) {
e.printStackTrace();
}
'''
'''
try {
StringWriter stringWriter = new StringWriter();
stringWriter.write("我是 一个");
stringWriter.append("Java 大神级别的人物");
stringWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
'''
BufferedWriter和BufferedReader 用法
'''
try {
BufferedWriter bWrite = new BufferedWriter(new FileWriter(fileName));
bWrite.write("hell,io");
bWrite.newLine();
bWrite.write("welcome to study");
bWrite.newLine();
bWrite.write("加油,谢谢!");
bWrite.close();
} catch (IOException e) {
e.printStackTrace();
}
'''
'''
try {
BufferedReader read = new BufferedReader(new FileReader(fileName));
String line = read.readLine();
while (line != null) {
System.out.println("line:" + line);
line = read.readLine();
}
read.close();
} catch (IOException e) {
e.printStackTrace();
}
'''