Java复习打卡day18

本文涵盖了Java中flush管道刷新的重要作用,深入探讨了转换流的使用,结合打印流和BufferedReader阐述了高效读写操作。同时,介绍了如何收集和管理日常日志,以及Properties类在配置文件处理中的应用。另外,文章还讨论了序列化和反序列化的过程,并讲解了try-with-resource语句的高效资源管理。
摘要由CSDN通过智能技术生成

flush管道刷新


import java.io.FileWriter;
import java.io.IOException;

public class Demo {
   
    public static void main(String[] args) throws IOException {
   
        FileWriter file = new FileWriter("d:\\c.txt");
        file.write("锄禾日当午");
        file.flush();
        //因为字符流是先读取字节,再转化为字符,然后缓存在内存里面,所以必须刷新
        file.close();
        //有时我们只写了close而没写flush也成功的原因是,close方法自动调用flush。
        System.out.println("已写入文件");
    }
}

转换流

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

public class Demo1 {
   
    public static void main(String[] args) throws IOException {
   
        //转换流
        //字节流装饰为字符流
        FileInputStream file = new FileInputStream("d:\\a.txt");
        /*while(true) {
            int read = file.read();
            if(read == -1)
                break;
            System.out.println(read);
            //字节输出流的话,想要输出文字还是有点困难
        }*/
        InputStreamReader isr = new InputStreamReader(file);
        while(true) {
   
            int read = isr.read();
            if(read == -1)
                break;
            System.out.println((char)read);
            //但是改为字符流的话就轻松了
        }
    }
}

打印流和BufferedReader

import java.io.FileNotFoundException;
import java.io.PrintStream;

public class D
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java员工打签到代码的实现方式有很多种,以下是其中一种可能的实现方式: ```java import java.util.Date; public class Employee { private String name; private Date lastSignIn; public Employee(String name) { this.name = name; } public void signIn() { Date now = new Date(); System.out.println(name + "签到成功,时间:" + now); lastSignIn = now; } public void signOut() { Date now = new Date(); System.out.println(name + "签退成功,时间:" + now); } public void checkInStatus() { if (lastSignIn == null) { System.out.println(name + "尚未签到"); } else { System.out.println(name + "上次签到时间:" + lastSignIn); } } } ``` 上面的代码定义了一个`Employee`类,其中包含了员工的姓名和上次签到时间。类中有三个方法:`signIn()`、`signOut()`和`checkInStatus()`。`signIn()`方法表示员工签到,会打印出员工姓名和当前时间,并将当前时间记录为上次签到时间;`signOut()`方法表示员工签退,会打印出员工姓名和当前时间;`checkInStatus()`方法表示查询员工的签到状态,会打印出员工姓名和上次签到时间(如果已经签到过),否则会提示尚未签到。 如果要使用这段代码,可以在其他类中创建`Employee`对象,并调用其中的方法来完成打签到功能。例如: ```java public class Main { public static void main(String[] args) { Employee emp1 = new Employee("张三"); emp1.signIn(); emp1.checkInStatus(); emp1.signOut(); } } ``` 这段代码创建了一个名为`emp1`的`Employee`对象,姓名为“张三”。接着调用了`signIn()`方法进行签到,`checkInStatus()`方法查询签到状态,最后调用了`signOut()`方法进行签退。运行这段代码后,会打印出以下结果: ``` 张三签到成功,时间:Thu Jul 22 14:47:23 CST 2021 张三上次签到时间:Thu Jul 22 14:47:23 CST 2021 张三签退成功,时间:Thu Jul 22 14:47:28 CST 2021 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值