Java笔记杨枝11.25

本文详细介绍了Java中的IO流,包括文件字节输入流、输出流,字节缓冲输入流和输出流的使用,以及字符转换流和对应的便捷类。还讨论了flush()和close()方法的区别,并提供了读写数据的模板代码。
摘要由CSDN通过智能技术生成

IO流

一 文件字节输入流(读数据)
构造方法:
public FileInputStream(String name)
开发步骤:
1)创建文件输入流对象
2)读数据
3)释放资源
读数据的方法:
1)一次读一个字节(会出现中文乱码,字符流解决)
2)一次读一个字节数组
举例:

package prac;

import java.io.FileInputStream;
import java.io.IOException;

public class Prac01 {
     public static void main(String[] args) throws IOException {
         FileInputStream  file=new    FileInputStream("a.txt");
         //      一次读一个字节模板代码
         int by=0;
         while((by=file.read())!=-1){
             System.out.print((char)by);
         }

         //一次读一个字节数组模板代码(速度快)
         byte[] bys=new byte[1024];
         int len=0;
         while((len=file.read(bys))!=-1){
             System.out.println(new String(bys,0,len));
         }
              file.close();

}
}

二 文件字节输出流(写数据)
FileOutputStream
构造方法同上

三 字节缓冲输入流:BufferedInputStream(读数据)
构造方法:
BufferedInputStream(InputStream in) :指定默认缓冲区大小创建字节缓冲输入流对象

BufferedInputStream bis = new BufferedInputStream(new FileInputStream("bis.txt")) ;

四 字节缓冲输出流(写数据)
BufferedOutputStream

flush()和close()方法的区别?
flush():刷新缓冲区的流,强迫将缓冲字节都写到该流中,刷新之后是可以写数据的.
close():关闭流对象所指向指向的这个资源文件,一旦关闭,写数据,写不进去的!
总结:对于图片文件,音频文件,视频文件,优先采用字节缓冲输入流(高效流)一次读取一个字节数组!
对于文本文件优先采用字符缓冲输入流(一次读取一行)
五 字符转换输入流InputStreamReader(字节输入流+编码格式(默认GBK))

InputStreamReader isr = new InputStreamReader(new FileInputStream("osw.txt"));//以GBK格式读数据

六 字符转换输入流便捷类(FileReader)

FileReader fr = new FileReader("a.txt") ;

七 字符转换输出流OutputStreamWriter(写完数据必须flush()刷新)

OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("osw.txt"));//默认GBK

关于字符输出流写数据的方法:
public void write(int c):写单个字符
public void write(char[] cbuf):写一个字符数组
public abstract void write(char[] cbuf,int off,int len):写入字符数组的一部分
public void write(String str):写字符串
public void write(String str, int off,int len):写字符串的一部分

八 字符转换输出流便捷类FileWriter

FileWriter fw = new FileWriter("b.txt") ;

九 字符缓冲输入流BufferedReader

BufferedReader br = new BufferedReader(new FileReader("bw2.txt")) ;

public String readLine():一次读取一行
读数据模板代码:

String line = null ;
        while((line=br.readLine())!=null){
            System.out.println(line);
        }

十 字符缓冲输出流BufferedWriter

BufferedWriter bw = new BufferedWriter(new FileWriter("bw2.txt")) ;

public void newLine():写入一个换行符号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: The original text of the dream recorded by Jiangchengzi on the night of January 20th, translated and appreciated, is as follows:"On the night of January 20th, I dreamed that I was a butterfly, fluttering around in a beautiful garden, happy and content. I was surrounded by a variety of flowers, and the pleasant scent filled the air. The sun shone brightly, and the birds sang melodiously. I was truly in paradise." ### 回答2: 原文: 深宫月色残,银汉乱人言。 采樵归不见,相思在疏篱。 万里春风来,寸寸芳心碎。 翠华暗绿雨,尺素寒尘滑。 乙卯正月二十日夜,梦与博山先生相见。批书诀曰:“以直报怨,以德报德”。时平台飞路远,支雪采簪华乌。白池梧桐叶中素,青丘蓬莱问苍虚。辂晓雷鸣,玄云千里一江雨。骤兰香慢蕊俏,玉泉冰寒锦点珠。杨枝弄笛滋蔓草,秋水翻天风满庭。鸟兽尽经夜残雪,若开晴未报平生。明朝忽觉天游梦,冷艳云光空残红。 翻译: 深宫中,月色仍残,银河散乱人之言语。 采集早归,却见不到你,想念依然在深深篱笆间。 万里春风吹来,一寸一寸芳心碎裂。 翠色华丽的花朵暗淡,一寸寸素净的尘埃滑落。 乙卯正月二十日的夜晚,梦见了与博山先生相见。他给我留下了一段批书:“以直报怨,以德报德”。那时平台上的路途遥远,支雪采着华丽的乌鸦羽毛。池塘中白色梧桐的叶子素净,问清幽的青丘蓬莱仙穴处的苍虚。车轮在黎明时分响起雷声,玄云千里远,江河上下的雨水也如细丝般纷纷飘洒。茂盛的兰花香气慢慢散去,花蕊娇美,水泉冰寒上点缀着珍珠。杨枝弄笛,蔓草蔓延,秋水翻滚,天空充满风的香味。鸟兽经过夜晚的残雪,若是旷白晴朗,将不再记得以往的人生。清晨醒来,突然发觉身心在天空中遨游,寒冷美丽的云光仅余一点残红。 赏析: 这是唐代杜牧的《江城子·乙卯正月二十日夜记梦》。诗人通过描写梦境中的景象和情感表达了思念之情。诗中以深宫月夜为背景,描绘了月色残照、银河散乱的景象,与思念之情相呼应。诗人对于思念之人的期望和痛苦心情都交织在诗中,表达了内心的矛盾和苦楚。似乎诗人梦中遇见了博山先生,并从他那里得到了关于直报怨、德报德的短评,这为诗中的思念之情增添了一丝宽慰。通过描绘梦境中各种遥远而奇幻的景象,诗人巧妙地展现了自己内心的情感世界,使诗歌更具幽玄之美和意境深远之感。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值