字符流的三种输入输出方法

2022-08-11 12:16:45

字符流三种比较常用的输入输出方法,另外还有两种单个字符的输入输出,用缓冲流包装的单个字符的输入输出,

这不多写了,.

方法如下:

package com.java2017_04_07;

import java.io.*;


public class Test {
static final String PATH1 = "F:\\3140731232\\gg\\g.txt";
static final String PATH2 = "F:\\3140731232\\gg\\t1.txt";
public static void main(String[] args) {
m1();
m2();
m3();

}

//第一种,字符数组读取和输出

public static void m1() {

FileReader fr = null;
FileWriter fw = null;
try {
fr = new FileReader(PATH1);
fw = new FileWriter(PATH2);
int len = 0;
char[] c = new char[1024];
while ((len=fr.read(c))!=-1) {
fw.write(c, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (fr!=null) {
try {
fr.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (fw!=null) {
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

}

//第二种,用缓冲流包装的字符数组输入输出

public static void m2() {

BufferedReader br = null;
BufferedWriter bw = null;
try
{
br = new BufferedReader(new FileReader(PATH1));
bw = new BufferedWriter(new FileWriter("F:\\3140731232\\gg\\t2.txt"));
int len = 0;
char[] c = new char[1024];
while ((len=br.read(c))!=-1) {
bw.write(c, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}  finally {
if (br!=null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bw!=null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

}

//第三种,用缓冲流包装的每次读取一行字符的输入输出

public static void m3() {

BufferedReader br = null;
BufferedWriter bw = null;
try {
br = new BufferedReader(new FileReader(PATH1));
bw = new BufferedWriter(new FileWriter("F:\\3140731232\\gg\\t3.txt"));
String str = null;
while ((str=br.readLine())!=null) {
bw.write(str);
}
} catch (IOException e) {
e.printStackTrace();
}   finally {
if (br!=null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (bw!=null) {
try {
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
  • 作者:Shiqingning
  • 原文链接:https://blog.csdn.net/Shiqingning/article/details/69952358
    更新时间:2022-08-11 12:16:45