java的输入输出流
输入: InputStreamReader类和 FileReader类
输出:FileOutputStream类
对于输入的FileReader类的没有对中文的解决。
所有我写出了对文件txt格式的文档进行测试。直接上java代码:
package regex;
import org.junit.Test;
import java.io.*;
import java.util.List;
/*id name age address
* 1 wyf 32 合肥 --> 1,"wtf",32,"合肥"
* 统一的换成一定的格式的代码,不觉得很有意思吗?
* */
/**
* @author lejun
* @time Nov/4th/2019
* */
public class Replace {
@Test
public void read() throws IOException {
// in = new BufferedReader(new InputStreamReader(new FileInputStream(firstFile), "gbk"));
/**对输入流的gbk的使用才不会出现的乱码,要不然普通的FileRead是不行的.*/
InputStreamReader reader = new InputStreamReader(new FileInputStream("C:\\Users\\lejun\\Desktop\\Character.txt"),"gbk");
BufferedReader br = new BufferedReader(reader);
String line;
//网友推荐更加简洁的写法
while ((line = br.readLine()) != null) {
// 一次读入一行数据
System.out.println(line);
}
}
@Test
public void Replace() throws IOException {
String[] arrs = {
"zhangsan,23,福建",
"lisi,30,上海",
"wangwu,43,北京",
"laolin,21,重庆",
"ximenqing,67,贵州"
};
//写入中文字符时解决中文乱码问题
FileOutputStream fos = new FileOutputStream(new File("C:\\Users\\lejun\\Desktop\\filein.txt"));
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
for (String arr : arrs) {
bw.write(arr+ "\r\n");//\r\n是一行一行的读入
}
//注意关闭的先后顺序,先打开的后关闭,后打开的先关闭
bw.close();
osw.close();
fos.close();
}
}