编写程序,使用字节缓冲流将src.txt文件中的数据读取并写入到des.txt文件中。使用BufferedInputStream和BufferdOutputStream的构造方法分别接收InputStream和OutputStream类型的参数作为被包装对象,在读写数据时提供缓冲功能。
import java.io.*;
public class Example {
public static void main(String[] args) throws Exception {
File srcFile = new File("src.txt");
InputStream in = new FileInputStream(srcFile);
byte[] buffer = new byte[5];
int len = -1;
while((len = in.read(buffer)) != -1){
String str = new String(buffer,0,len);
System.out.println(str);
FileOutputStream out = new FileOutputStream("des.txt");
byte[] b = str.getBytes();
for(int c = 0; c < b.length; c++){
out.write(b[c]);}
out.close();
}
}
}
运行结果
使用字符流向一个有数据的文本文件中,追加写入一段字符串,保证原有数据不被清空。
import java.io.*;
public class Example {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("writer.txt",true);
fw.append("\r");
fw.append("Petrel !");
fw.flush();
fw.close();
}
}
运行结果:
新建文件“reader.txt”并在其中输入字符“itcast”,然后使用FileReader读取文件中的字符并打印。
import java.io.*;
public class Example {
public static void main(String[] args) throws Exception {
FileWriter writer = new FileWriter("reader.txt");
String str = "itcast";
writer.write(str);
writer.close();
FileReader fr = new FileReader("reader.txt");
char[] a = new char[50];
fr.read(a); // 读取数组中的内容
for (char c : a)
System.out.print(c); // 一个一个打印字符
fr.close();
}
}
运行结果
编写程序,使用转换流,并通过字符缓冲流对转换流进行包装,读取src.txt中的数据并写入到des.txt
import java.io.*;
public class Example {
public static void main(String[] args) throws Exception {
String srcString = "src.txt";
String destString = "des.txt";
BufferedReader br = new BufferedReader(new FileReader(srcString));
BufferedWriter bw = new BufferedWriter(new FileWriter(destString));
int ch = 0;
while ((ch = br.read()) != -1) {
bw.write(ch);
}
bw.close();
br.close();
}
}
运行结果