关于【描写燕子的诗句】,描写燕子的诗句有哪些,今天乾乾小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
内容导航:1、简单易懂讲IO2、描写燕子的诗句有哪些1、简单易懂讲IO
流式 IO 是传统 IO,通过构造输入输出流,讲信息从一个地方读取,输出到另一个地方。常见的有读取文件以及写入文件。
基本 API
流失 IO 基本可以分为两个门派,一个以InputStream 和 OutputStream 为代表的老牌 IO,一个以 Reader 和 Writer 为代表的新派 IO。
这里仅仅展示最常用 API,其余 API 可以查阅 jdk API
输入
基本输入
装饰器输入
基本输入中的流对象,都可以作为装饰器对象的构造器参数
输出
基本输出
装饰器输出
常见用法
读取文件
使用 FileInputStream 读取
下面例子将输入流放入 try-with-resource 块中,以实现资源的自动关闭,本文下面例子都将采用这种形式。
这里可以看到,是一个字节一个字节的读,所以要将其转为 char 才能正常展示,否则展示的都是字节。 由于 InputStream 是字节流,因此,这里读取到的中文展示乱码。
public class Read { /** * 使用 FileInputStream 直接读取 * 由于 InputStream 不支持 Unicode 编码,所以中文显示会乱码 */ public static void fileInputStream() { try ( FileInputStream input = new FileInputStream("Read.java") ) { int n = 0; while (n != -1) { n = input.read(); char c = (char) n; System.out.print(c); } } catch (Exception e) { } } public static void main(String[] args) { Read.fileInputStream(); }}
输出:
package cyrus.file_io.iostream;import java.io.FileInputStream;public class Read { /** * ä½¿ç¨ FileInputStream ç´æ¥è¯»å * ç±äº InputStream ä¸æ¯æ Unicode ç¼ç ï¼æ以ä¸ææ¾ç¤ºä¼ä¹±ç */ public static void fileInputStream() { try ( FileInputStream input = new FileInputStream("Read.java") ) { int n = 0; while (n != -1) { n = input.read(); char c = (char) n; System.out.print(c); } } catch (Exception e) { } } public static void main(String[] args) { Read.fileInputStream(); }}
使用 BufferedInputStream 装饰器读取
以下例子使用 FileInputStream 构造一个 BufferedInputStream 装饰器,该适配器的主要作用是会将读取到的内容填充进缓冲区,其余用法和 FileInputStream 一样。InputStream 是字节流,因此,这里读取到的中文展示乱码。
public class Read { /** * 使用 FileInputStream 构造一个 BufferedInputStream 装饰器,读取,该读取会使用缓冲区 * 由于 InputStream 不支持 Unicode 编码,所以中文会乱码 */ public static void fileInputStreamWithBuffer() { try ( BufferedInputStream input = new BufferedInputStream(new FileInputStream("Read.java")) ) { int n = 0; while (n != -1) { n = input.read(); char c = (char) n; System.out.print(c); } } catch (Exception e) { } } public static void main(String[] args) { Read.fileInputStreamWithBuffer(); }}
输出:
package cyrus.file_io.iostream;import java.io.BufferedInputStream;import java.io.FileInputStream;public class Read { /** * ä½¿ç¨ FileInputStream æé ä¸ä¸ª BufferedInputStream è£ é¥°å¨ï¼è¯»åï¼è¯¥è¯»åä¼ä½¿ç¨ç¼å²åº * ç±äº InputStream ä¸æ¯æ Unicode ç¼ç ï¼æ以ä¸æä¼ä¹±ç */ public static void fileInputStreamWithBuffer() { try ( BufferedInputStream input = new BufferedInputStream(new FileInputStream("Read.java")) ) { int n = 0; while (n != -1) { n = input.read(); char c = (char) n; System.out.print(c); } } catch (Exception e) { } } public static void main(String[] args) { Read.fileInputStreamWithBuffer(); }}
使用 FileReader 进行读取
使用 FileReader 直接读取,这里 Reader 支持 Unicode 编码,因此中文不会乱码,正常显示
public class Read { /** * 使用 FileReader 直接读取 * 由于 Reader 支持 Unicode 编码,因此中文不会乱码,正常显示 */ public static void fileReader() { try ( FileReader reader = new FileReader("Read.java") ) { int n = 0; while (n != -1) { n = reader.read(); char c = (char) n; System.out.print(c); } } catch (Exception e) { } } public static void main(String[] args) { Read.fileReader(); }}
输出:
package cyrus.file_io.iostream;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileReader;public class Read { /** * 使用 FileReader 直接读取 * 由于 Reader 支持 Unicode 编码,因此中文不会乱码,正常显示 */ public static void fileReader() { try ( FileReader reader = new FileReader("Read.java") ) { int n = 0; while (n != -1) { n = reader.read(); char c = (char) n; System.out.print(c); } } catch (Exception e) { } } public static void main(String[] args) { Read.fileReader(); }}
使用 BufferedReader 装饰器读取
这里使用 FileReader 构造一个 BufferedReader 装饰器,BufferedReader 的主要作用是会将读取到的内容填入缓冲区,并且 BufferedReader 的 lines() 方法将返回一个 stream 流,操作更方便。
public class Read { /** * 使用 FileReader 构造一个 BufferedReader 装饰器,读取,该读取会使用缓冲区 * 由于 Reader 支持 Unicode 编码,因此中文不会乱码,正常显示 */ public static void fileReaderWithBuffer() { try (BufferedReader reader = new BufferedReader(new FileReader("Read.java"))) { reader.lines().forEach(System.out::println); } catch (Exception e) { } } public static void main(String[] args) { Read.fileReaderWithBuffer(); }}
输出:
package cyrus.file_io.iostream;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.FileInputStream;import java.io.FileReader;public class Read { /** * 使用 FileReader 构造一个 BufferedReader 装饰器,读取,该读取会使用缓冲区 * 由于 Reader 支持 Unicode 编码,因此中文不会乱码,正常显示 */ public static void fileReaderWithBuffer() { try (BufferedReader reader = new BufferedReader(new FileReader("Read.java"))) { reader.lines().forEach(System.out::println); } catch (Exception e) { } } public static void main(String[] args) { Read.fileReaderWithBuffer(); }}
使用 DataInputStream 适配器读取字符串
这里 buildString() 方法读取当前文件,将其拼装为字符串输出,ByteArrayInputStream 读取该字符串的 byte 数组,然后转化为 DataInputStream 适配器进行读取字符串内容。
DataInputStream 主要用于读取基本数据类型
public class Read { /** * 使用 ByteArrayInputStream 构造 DataInputStream 装饰器,输出字符串信息 */ public static void dataInputStream() { try ( DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(buildString().getBytes())) ) { while (inputStream.available() != 0) { System.out.print((char) inputStream.readByte()); } } catch (Exception e) { } } /** * 通过目前 java 文件构建一个字符串 * * @return */ public static String buildString() { try (BufferedReader reader = new BufferedReader(new FileReader("Read.java"))) { return reader.lines().collect(Collectors.joining("\n")); } catch (Exception e) { } return "ok"; } public static void main(String[] args) { Read.dataInputStream(); }}
写入文件
使用 FileOutputStream 写入
这里直接使用 FileOutputStream 读取 buildString() 方法构造的字符串并将其写入 Read.txt 文件
public class Read { /** * 使用 FileOutputStream 直接写入字符串 */ public static void fileOutputStream() { try ( FileOutputStream output = new FileOutputStream("Read.txt") ) { output.write(buildString().getBytes()); } catch (Exception e) { } } /** * 通过目前 java 文件构建一个字符串 * * @return */ public static String buildString() { try (BufferedReader reader = new BufferedReader(new FileReader("Read.java"))) { return reader.lines().collect(Collectors.joining("\n")); } catch (Exception e) { } return "ok"; } public static void main(String[] args) { Read.fileOutputStream(); }}
输出:实例截图一部分
使用 BufferedOutputStream 适配器写入
这里使用 FileOutputStream 构造一个 BufferedOutputStream 适配器,BufferedOutputStream 会使用到缓冲区,加快读取写入速度。
public class Read { /** * 使用 FileOutputStream 构造一个 BufferedOutputStream 装饰器,读取,该写入会使用缓冲区 */ public static void fileOutputStreamWithBuffer() { try ( BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream("Read.txt")); ) { output.write(buildString().getBytes()); } catch (Exception e) { } } /** * 通过目前 java 文件构建一个字符串 * * @return */ public static String buildString() { try (BufferedReader reader = new BufferedReader(new FileReader("Read.java"))) { return reader.lines().collect(Collectors.joining("\n")); } catch (Exception e) { } return "ok"; } public static void main(String[] args) { Read.fileOutputStreamWithBuffer(); }}
后面就不展示输出了,所有的输出都是输出到当前工作目录的Read.txt文件夹下,并且文件内容都是当前 .java 文件的内容
2、描写燕子的诗句有哪些
1、百鸟乳雏毕,秋燕独蹉跎。去社日已近,衔泥意如何。不悟时节晚,徒施工用多。人间事亦尔,不独燕营巢。——《晚燕》白居易
2、拂水竞何忙,傍檐如有意。翻风去每远,带雨归偏驶。令君裁杏梁,更欲年年去。——《赋得檐燕》皇甫冉
3、才离海岛宿江滨,应梦笙歌作近邻。减省雕梁并头语,画堂中有未归人。——《新燕》成彦雄
4、不独避霜雪,其如俦侣稀。四时无失序,八月自知归。春色岂相访,众雏还识机。故巢傥未毁,会傍主人飞。——《归燕》杜甫
5、汉宫一百四十五,多下珠帘闭琐窗。何处营巢夏将半,茅檐烟里语双双。——《村舍燕》杜牧
6、旅食惊双燕,衔泥入此堂。应同避燥湿,且复过炎凉。养子风尘际,来时道路长。今秋天地在,吾亦离殊方。——《双燕》杜甫
7、画堂歌舞喧喧地,社去社来人不看。长是江楼使君伴,黄昏犹待倚栏干。——《归燕》唐·杜牧
8、我屋汝嫌低不住,雕梁画阁也知宽。大须稳择安巢处,莫道巢成却不安。——《春来燕》杜荀鹤
9、去岁辞巢别近邻,今来空讶草堂新。花开对语应相问,不是村中旧主人。——《燕来》韦庄
10、每岁同辛苦,看人似有情。乱飞春得意,幽语夜闻声。整羽庄姜恨,回身汉后轻。豪家足金弹,不用污雕楹。——《燕》李山甫
11、天女伺辰至,玄衣澹碧空。差池沐时雨,颉颃舞春风。相贺雕阑侧,双飞翠幕中。勿惊留爪去,犹冀误吴宫。——《燕》李峤
12、年去年来来去忙,春寒烟暝渡潇湘。低飞绿岸和梅雨,乱入红楼拣杏梁。闲几砚中窥水浅,落花径里得泥香。千言万语无人会,又逐流莺过短墙。——《燕》郑谷
13、豪家五色泥香,衔得营巢太忙。喧觉佳人昼梦,双双犹在雕梁。——《燕》李中
14、多时窗外语呢喃,只要佳人卷绣帘。大厦已成须庆贺,高门频入莫憎嫌。花间舞蝶和香趁,江畔春泥带雨衔。栖息数年情已厚,营巢争肯傍他檐。——《春燕》刘兼
15、不知大厦许栖无,频已衔泥到座隅。曾与佳人并头语,几回抛却绣工夫。——《燕子》秦韬玉
16、海燕何微眇,乘春亦暂来。岂知泥滓贱,祗见玉堂开。绣户时双入,华轩日几回。无心与物竞,鹰隼莫相猜。——《咏燕》张九龄
17、变石身犹重,衔泥力尚微。从来赴甲第,两起一双飞。——《咏燕》张鷟
18、从扑香尘拂面飞,怜渠只为解相依。经冬好近深炉暖,何必千岩万水归?——《秋燕》司空图
本文关键词:描写燕子的诗句有哪些三年级下册,描写燕子的诗句有哪些小学生,描写燕子的诗句有哪些三年级,描写叶子的诗句有哪些,描写燕子的诗句有哪些赞美燕子的诗句。这就是关于《描写燕子的诗句,描写燕子的诗句有哪些(简单易懂讲IO)》的所有内容,希望对您能有所帮助!