zl程序教程

您现在的位置是:首页 >  其他

当前栏目

BufferedWriter输出流的使用「建议收藏」

输出 使用 建议 收藏 BufferedWriter
2023-06-13 09:11:59 时间

大家好,又见面了,我是你们的朋友全栈君。

package com.lzxa.analyze.common;


import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 输入流(用于排查错误和测试日志使用)
 */
public class IOBufferedWriter {

   static public void BIOBufferedWriters(String name)  {
        try{
            //1.创建BufferedWriter类型的对象与c:/a.txt文件关联
            //true代表可以追加,
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
                    new FileOutputStream("c:/a.txt",true)));
            
            //时间转字符串格式化(DateTimeFormatter是线程安全的)
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            //输出当前时间
            LocalDateTime dateTime01 = LocalDateTime.now();
            String format = dateTime01.format(formatter);

            //2.将字符串数据"last demo!"写入文件中
            bw.write(format+":"+name+ "\r\n");
            //3.关闭流对象并释放有关的资源
            bw.close();
        }catch(Exception e){
            e.printStackTrace();
        }

    }


    static public void NIOBufferedWriters() throws Exception {
        String str ="hello world";
  //先构建输入流,true是追加内容
            FileOutputStream fileOutputStream = new FileOutputStream("/Users/1.txt",true);
        //通过流获取通道
        FileChannel channel = fileOutputStream.getChannel();
        //创建缓存区
        ByteBuffer buffer = ByteBuffer.allocate(1024);
        //将数据放入缓冲区
        buffer.put(str.getBytes());
        try {
            //需要清空缓冲区的标记,再进行操作
            buffer.flip();
            //将内容写到通道中
            channel.write(buffer);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //关闭
        fileOutputStream.close();
    }
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/137845.html原文链接:https://javaforall.cn