百科生活 投稿
关于【一笔画完的图形是什么】,一笔画完的图形有哪些,今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。
- 内容导航:
- 1、简单易懂讲IO
- 2、一笔画完的图形是什么
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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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) { } } 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 { public static void fileOutputStream() { try ( FileOutputStream output = new FileOutputStream("Read.txt") ) { output.write(buildString().getBytes()); } catch (Exception e) { } } 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 { public static void fileOutputStreamWithBuffer() { try ( BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream("Read.txt")); ) { output.write(buildString().getBytes()); } catch (Exception e) { } } 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、凡是只有两个奇点的连通图,一定可以一笔画成。
画时必须把一个奇点为起点,另一个奇点终点。一笔画整个形态在中国画中因为是成于一笔的,所以一笔画法便认为是中国画特有的写法。一个图形由一笔构成就叫一笔画,有相关游戏和图书,也是一类数学题。图形中任何端点根据所连接线条数被分为奇点、偶点。
只有所有点为偶点的图形和只有两个奇点的图形一定可以一笔画。只有偶点的图形不限出发点,两个奇点必然从其中一点出发到另一点结束。在任何图形中,奇点都是成对出现的,没有奇数个奇点的图形。
怎么样把这个图一笔画完
这个不能一笔画。不用伤脑筋了,按照下面的原则,没错。
一笔画图形必须满足:没有奇点或只有2个奇点。
你这个图形,六边形6个顶点全是奇点,所以没办法一笔画。如果抹掉两条边,变成下面的图形,奇点只有2个,所以可以一笔画,只要从任意一个奇点出发就可以了。由一点引出的线段为奇数个,则这个点为奇点;由一点引出的线段为偶数个,则这个点为偶点。
谁能一笔画完两个这样的图形
可以一笔画两个图形:先画一个A点往上画直线到B点,由B往右上画出C点,由C点往右下画出D点(与B平行),由D往下画直线到E点(与A平行)。再由E连到B,由B连到D,由D连到A,由A连到E。
再由E往下画直线到F点,由F往左下画斜线到G点(是C点的正下方)。
由G点往左上画出L点(是A点的正下方),由L点往上画直线到A点,再由A点连F点,由F点连L点,由L点连E点,完成。
本文关键词:一笔画完的图形有哪些,一笔画下来的图形,一笔画完成的图,一笔画完所有,一笔画完的图形是什么图形。这就是关于《一笔画完的图形是什么,一笔画完的图形有哪些(简单易懂讲IO)》的所有内容,希望对您能有所帮助!
- 最近发表