Java-字符流练习。(新手用于记录每天的作业)
Java-字符流练习。(新手用于记录每天的作业)
参考手册:
关键字:
write() 写入存取
close() 结束
flush() 刷新缓冲区(缓冲区就是临时存放数据的区域。)
currentTimeMillis() 返回以毫秒为单位的当前时间
创建方法:
FileWriter fwr = new FileWriter("C:\\ja.txt");
创建对象,并且给对象指定路径。
实例:
//导入的包。
import java.io.*;
//创建的一个类。
public class ZFLlx {
//公共静态的主方法。
public static void main(String[] args)throws IOException{
//调用方法。
lx4();
}
public static void lx4(){
FileOutputStream fos = null;
try {
//指定盘符和文件。
fos = new FileOutputStream("C:\\ja.txt");
// 指定盘符内并且设置格式。(OutputStreamWriter字符输出流)
OutputStreamWriter sow = new OutputStreamWriter(fos,"UTF-8");
//添加。
sow.write("您好");
//结束释放资源。
sow.close();
} catch (IOException e) {
e.printStackTrace();
}
}
private static void lx3() throws IOException {
//指定盘符和文件。
FileWriter fwr = new FileWriter("C:\\ja.txt");
//输入添加的字符串。
fwr.write("Qy97");
fwr.write("威武");
//创建字符数据类型,添加要输入的字符。
char[] c = {'a','b','c','d','e'};
//写入。
fwr.write(c);
//刷新缓冲区(缓冲区就是临时存放数据的区域。)
fwr.flush();
//结束释放资源。
fwr.close();
}
private static void lx2() throws IOException {
//计算开始的时间。返回的是以毫秒为单位的时间。(1秒为1000毫秒)
long l = System.currentTimeMillis();
//指定盘符和文件。
FileReader frr = new FileReader("C:\\ja.txt");
// 创建字符数组。char是字符类型,一次读1024个字符
char[] c = new char[1024];
//定义一个变量
int len = 0;
//创建while语句。
while ((len = frr.read(c))!=-1){
System.out.println(new String(c,0,len));
}
//结束释放资源。
frr.close();
//结束时间。
long ll = System.currentTimeMillis();
//结束时间减去开始时间就会得到运行时间。
System.out.println(ll-l);
}
public static void lx1() {
FileReader fir = null;
FileWriter fwr = null;
try {
fir = new FileReader("C:\\ja.txt");
fwr = new FileWriter("D:\\ja.txt");
char[] c = new char[2024*10];
int len = 0;
while ((len=fir.read(c))!=-1){
fwr.write(c,0,len);
//flush 用来刷新缓冲区的,只有字符流才需要刷新
fwr.flush();
}
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fir!=null){
try {
fir.close();
} catch (IOException e) {
e.printStackTrace();
}finally {
if (fwr!=null){
try {
fwr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
}
}
执行结果
lx1:
lx2:
lx3:
lx4: