FileReader fr = new FileReader("xxx.txt"); //创建字符输入流
int c;
while((c = fr.read()) != -1) { //通过项目默认的码表一次读取一个字符
System.out.print((char)c); //与字节流类似
}
FileWriter fw = new FileWriter("yyy.txt"); //创建字符输出流
fw.write("大家好"); //写入文件
fw.write("\r\n");
fw.write("hello world");
FileReader fr = new FileReader("xxx.txt");
FileWriter fw = new FileWriter("zzz.txt");
int c;
while((c = fr.read()) != -1) {
fw.write(c);
}
fr.close();
fw.close(); //Writer类中有一个2k的小缓冲区,如果不关流,就会将内容写到缓冲区里,关流会将缓冲区内容刷新,再关闭
FileReader fr = new FileReader("双元.jpg"); //字符流不能拷贝纯文本的文件
FileWriter fw = new FileWriter("copy.jpg"); //不能这样写
FileReader fr = new FileReader("xxx.txt");
FileWriter fw = new FileWriter("yyy.txt");
char[] arr = new char[1024];
int len;
while((len = fr.read(arr)) != -1) { //将文件上的数据读取到字符数组中
fw.write(arr,0,len); //将字符数组中的数据写到文件上
}
BufferedReader br = new BufferedReader(new FileReader("xxx.txt"));//使用缓冲区,读写效率更高
BufferedWriter bw = new BufferedWriter(new FileWriter("yyy.txt"));//与BufferedOutputStream类似
int c;
while((c = br.read()) != -1) {
bw.write(c);
}
bw.newLine(); //写入换行符
LineNumberReader lnr = new LineNumberReader(new FileReader("zzz.txt")); //用于记录行号
String line;
lnr.setLineNumber(100); //设置行号起始值,默认为0
while((line = lnr.readLine()) != null) { //读取每一行的字符串,行号不断加一,直到文件末尾
System.out.println(lnr.getLineNumber() + ":" + line);//获取行号
}
装饰设计模式
interface Coder {
public void code();
}
class Student implements Coder {
public void code() {
System.out.println("javase");
System.out.println("javaweb");
}
}
class HeiMaStudent implements Coder {
//1,获取被装饰类的引用
private Student s; //获取学生引用
//2,在构造方法中传入被装饰类的对象
public HeiMaStudent(Student s) {
this.s = s;
}
//3,对原有的功能进行升级
public void code() {
s.code();
System.out.println("ssh");
System.out.println("数据库");
System.out.println("大数据");
System.out.println("...");
}
}
HeiMaStudent hms = new HeiMaStudent(new Student());
hms.code();
//打印出该文件夹下所有的.java文件名
public static void printJavaFile(File dir) {
//1,获取到该文件夹路径下的所有的文件和文件夹,存储在File数组中
File[] subFiles = dir.listFiles();
//2,遍历数组,对每一个文件或文件夹做判断
for (File subFile : subFiles) {
//3,如果是文件,并且后缀是.java的,就打印
if(subFile.isFile() && subFile.getName().endsWith(".java")) {
System.out.println(subFile);
//4,如果是文件夹,就递归调用
}else if (subFile.isDirectory()){
printJavaFile(subFile);
}
}
}
Java文件字符流操作+装饰者模式简单实例
猜你喜欢
转载自blog.csdn.net/qq_37822034/article/details/82927857
今日推荐
周排行