package demo.io;
import java.io.*;
class 字符流缓冲区和LineNumberReader {
public static void main(String[] args) {
// bufferWriter();//利用buffer缓冲区写入文件
// bufferReader();//利用buffer缓冲区读取文件
// test();//测试:复制文本内容
lineNumberReader();//跟踪行号的缓冲字符输入流
}
//跟踪行号的缓冲字符输入流
private static void lineNumberReader() {
LineNumberReader lnr = null;
try {
lnr = new LineNumberReader(new FileReader("后期设备的配置文件.properties"));
lnr.setLineNumber(100);//修改行号为100 下次输出为101
String line = null;
while ((line = lnr.readLine()) != null) {
System.out.println(lnr.getLineNumber() + ": " + line);//获取当前行号并输出此行信息
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (lnr != null)
lnr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//测试:复制文本内容
private static void test() {
FileReader fr = null;
FileWriter fw = null;
BufferedReader bufr = null;
BufferedWriter bufw = null;
try {
fr = new FileReader("后期设备的配置文件.properties");
fw = new FileWriter("I:\\bb.txt");
bufr = new BufferedReader(fr);
bufw = new BufferedWriter(fw);
String line = null;
while ((line = bufr.readLine()) != null) {
bufw.write(line);
bufw.newLine();
bufw.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufr != null)
bufr.close();
if (bufw != null)
bufw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//利用buffer缓冲区读取文件
private static void bufferReader() {
BufferedReader bufr = null;
try {
FileReader fr = new FileReader("后期设备的配置文件.properties");
bufr = new BufferedReader(fr);
int len = 0;
/*while ((len = bufr.read()) != -1) {//逐一读取字符
System.out.print((char) len);
}*/
/*
char[] ch = new char[1024];
while ((len = bufr.read(ch)) != -1) {//读取多少长度的字符,构造相应长度的字符串
System.out.println(new String(ch, 0 , len));
}*/
String line = null;
while ((line = bufr.readLine()) != null) {//一行一行读取
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufr != null)
bufr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//利用buffer缓冲区写入文件
private static void bufferWriter() {
FileWriter fw = null;
BufferedWriter bufw = null;
try {
fw = new FileWriter("后期设备的配置文件.properties", true);
bufw = new BufferedWriter(fw);
bufw.write("haha");
bufw.newLine();//换行
bufw.write("hehe");
bufw.flush();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (bufw != null)
bufw.close();//等效于 fw.close()
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
/**
* 字符流缓冲区:
* BufferedWriter
* :newLine();
* <p>
* BufferedReader:
* : readLine();
*/
利用buffer缓冲区读写入文件字符流缓冲区和LineNumberReader
最新推荐文章于 2023-10-27 11:09:56 发布