字符流
Reader字符输入流
Writer字符输出流
专门用于字符的形式读取和写入数据
1.Reader字符输入流读文件
package IO_Test;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class io_string {
public static void main(String args[]){
// 准备文件lol.txt其中的内容是AB
File f = new File("d:/io_new1.txt");
// 创建基于文件的Reader
try {
FileReader fr = new FileReader(f);
// 创建字符数组,其长度就是文件的长度
char[] all = new char[(int)f.length()];
// 以字符流的形式读取文件所有内容
fr.read(all);
//一个一个字符读取并且打印
for (char b : all) {
// 打印出来是A B
System.out.print(b);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
2.Writer字符输出流写文件
package IO_Test;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class io_string {
public static void main(String args[]){
// 准备文件lol.txt其中的内容是AB
File f = new File("d:/io_new1.txt");
// 创建基于文件的Reader
try {
// FileReader fr = new FileReader(f);
FileWriter FR=new FileWriter(f);
String da="aaa1233EE你好";
char []cs=da.toCharArray();
FR.write(cs);//这种写法会对文件内容进行覆盖
FR.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
txt文件
3.练习
准备一个原文txt文件 读出文件,对字符串加密,把加密之后的字符串写入密码txt文件
package IO_Test;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class code_io {
public static void main(String args[]){
File f=new File("D:\\2020大三上\\IDEAProject\\sentence.txt");
File f1=new File("D:\\2020大三上\\IDEAProject\\code.txt");
try{
FileReader fr=new FileReader(f);
//字符串数组 读入的原文字符串
char []sentence=new char[(int)f.length()];
fr.read(sentence);
//存放密码字符串
char []code=new char[(int)f.length()];
FileWriter fw=new FileWriter(f1);
for(int i=0;i<sentence.length;i++){
//密码只做了简单的处理
code[i]= (char) (sentence[i]+1);
}
//写入到文件
fw.write(code);
fr.close();
fw.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
原文
密码