René's URL Explorer Experiment


Title: IO流 · Issue #1 · FiveColors/JavaSE · GitHub

Open Graph Title: IO流 · Issue #1 · FiveColors/JavaSE

X Title: IO流 · Issue #1 · FiveColors/JavaSE

Description: IO流 IO流概述 IO流就是文件的输入和输出 I : Input O : Output 通过IO可以完成硬盘文件的读和写。 IO流分类 有多种分类方式: 一种方式是按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read)。从内存中出来,叫做输出(Output)。或者叫做写(Write)。 另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的方式读取数据,一次读取1个字节byte,等同于一次读取8个二进制位。这种流是万能...

Open Graph Description: IO流 IO流概述 IO流就是文件的输入和输出 I : Input O : Output 通过IO可以完成硬盘文件的读和写。 IO流分类 有多种分类方式: 一种方式是按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read)。从内存中出来,叫做输出(Output)。或者叫做写(Write)。 另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的...

X Description: IO流 IO流概述 IO流就是文件的输入和输出 I : Input O : Output 通过IO可以完成硬盘文件的读和写。 IO流分类 有多种分类方式: 一种方式是按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read)。从内存中出来,叫做输出(Output)。或者叫做写(Write)。 另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的...

Opengraph URL: https://github.com/FiveColors/JavaSE/issues/1

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"IO流","articleBody":"## IO流\r\n### IO流概述\r\nIO流就是文件的输入和输出\r\nI : Input\r\nO : Output\r\n通过IO可以完成硬盘文件的读和写。\r\n![001-什么是IO](https://user-images.githubusercontent.com/56142279/115488763-a0651680-a28d-11eb-8abe-362e3bb56253.png)\r\n\r\n### IO流分类\r\n有多种分类方式:\r\n一种方式是按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read)。从内存中出来,叫做输出(Output)。或者叫做写(Write)。\r\n\r\n另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的方式读取数据,一次读取1个字节byte,等同于一次读取8个二进制位。这种流是万能的,什么类型的文件都可以读取。包括:文本文件,图片,声音文件,视频文件等....\r\n\r\n假设文件file1.txt,采用字节流的话是这样读的:\r\na中国bc张三fe\r\n第一次读:一个字节,正好读到'a'\r\n第二次读:一个字节,正好读到'中'字符的一半。\r\n第三次读:一个字节,正好读到'中'字符的另外一半。\r\n\r\n有的流是按照字符的方式读取数据的,一次读取一个字符,这种流是为了方便读取普通文本文件而存在的,这种流不能读取:图片、声音、视频等文件。只能读取纯文本文件,连word文件都无法读取。\r\n\r\n假设文件file1.txt,采用字符流的话是这样读的:\r\n\t\t\t\t\ta中国bc张三fe\r\n\t\t\t\t\t第一次读:'a'字符('a'字符在windows系统中占用1个字节。)\r\n\t\t\t\t\t第二次读:'中'字符('中'字符在windows系统中占用2个字节。)\r\n\r\n**综上所述:流的分类**\r\n\t\t**输入流、输出流**\r\n\t\t**字节流、字符流**\r\n\r\n### IO流学习方式\r\nJava中的IO流都已经写好了,我们程序员不需要关心,我们最主要还是掌握,在java中已经提供了哪些流,每个流的特点是什么,每个流对象上的常用方法有哪些?\r\n\r\njava中所有的流都是在:java.io.*;下。\r\n\r\njava中主要还是研究:\r\n怎么new流对象。\r\n调用流对象的哪个方法是读,哪个方法是写。\r\n\r\n### IO流的四大家族\r\n**四大家族的首领:**\r\njava.io.InputStream  字节输入流\r\njava.io.OutputStream 字节输出流\r\n\r\njava.io.Reader\t\t字符输入流\r\njava.io.Writer\t\t字符输出流\r\n\r\n四大家族的首领都是抽象类\u003csup\u003e[1]\u003c/sup\u003e。(abstract class)\r\n\r\n**注意:在java中只要“类名”以Stream结尾的都是字节流。以“Reader/Writer”结尾的都是字符流。**\r\n\r\n所有的流都实现了java.io.Closeable接口,都是可关闭的,都有close()方法。流毕竟是一个管道,这个是内存和硬盘之间的通道,用完之后一定要关闭,不然会耗费(占用)很多资源。养成好习惯,用完流一定要关闭。\r\n\r\n所有的输出流都实现了:java.io.Flushable接口,都是可刷新的,都有flush()方法。养成一个好习惯,输出流在最终输出之后,一定要记得flush()刷新一下。这个刷新表示将通道/管道当中剩余未输出的数据强行输出完(清空管道!)刷新的作用就是清空管道。\r\n\r\n**注意:如果没有flush()可能会导致丢失数据。**\r\n\r\n### java.io包下需要掌握的流有16个\r\n\r\n**文件专属:**\r\n\t\tjava.io.FileInputStream(掌握)\r\n\t\tjava.io.FileOutputStream(掌握)\r\n\t\tjava.io.FileReader\r\n\t\tjava.io.FileWriter\r\n\r\n**转换流:(将字节流转换成字符流)**\r\n\t\tjava.io.InputStreamReader\r\n\t\tjava.io.OutputStreamWriter\r\n\r\n**缓冲流专属:**\r\n\t\tjava.io.BufferedReader\r\n\t\tjava.io.BufferedWriter\r\n\t\tjava.io.BufferedInputStream\r\n\t\tjava.io.BufferedOutputStream\r\n\r\n**数据流专属:**\r\n\t\tjava.io.DataInputStream\r\n\t\tjava.io.DataOutputStream\r\n\r\n**标准输出流:**\r\n\t\tjava.io.PrintWriter\r\n\t\tjava.io.PrintStream(掌握)\r\n\r\n**对象专属流:**\r\n\t\tjava.io.ObjectInputStream(掌握)\r\n\t\tjava.io.ObjectOutputStream(掌握)\r\n\r\n### java.io.FileInputStream\r\n1、文件字节输入流,万能的,任何类型的文件都可以采用这个流来读。\r\n\r\n2、字节的方式,完成输入的操作,完成读的操作(硬盘---\u003e 内存)\r\n\r\n具体演示如下,我们新建一个.txt文件,将文件拓展名去掉,用记事本打开,里面输入abcdef。\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115516649-eedbda80-a2b8-11eb-86a4-d681b2c8d4d9.png)\r\n\r\n提取文件路径\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115517155-6b6eb900-a2b9-11eb-989b-63099612f6c7.png)\r\n\r\n我们通过代码来具体看看\r\n\r\n```java\r\npackage com.bipowernode.java.io;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.FileNotFoundException;\r\nimport java.io.IOException;\r\n\r\n/*\r\njava.io.FileInputStream:\r\n    1、文件字节输入流,万能的,任何类型的文件都可以采用这个流来读。\r\n    2、字节的方式,完成输入的操作,完成读的操作(硬盘---\u003e 内存)\r\n */\r\npublic class FileInputStreamTest01 {\r\n    public static void main(String[] args) {\r\n        FileInputStream fis = null;\r\n        //创建文件字节输入流对象\r\n        //文件路径:D:\\javase\\temp (IDEA会自动把\\变成\\\\,因为java中\\表示转义)\r\n        try {\r\n            FileInputStream fis = new FileInputStream(\"D:\\\\javase\\\\temp\"); //Alt+回车可以处理异常\r\n            \r\n            //开始读\r\n            int readData = fis.read();\r\n\r\n            System.out.println(\"readData\");\r\n        } catch (FileNotFoundException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        } finally {\r\n            //再finally语句块当中确保流一定关闭\r\n            if (fis != null){ //避免空指针异常\r\n                //关闭流的前提是流不是空。流是null就没必要关闭。\r\n                try {\r\n                    fis.close();\r\n                } catch (IOException e) {\r\n                    e.printStackTrace();\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n**注意:其中,finally语句块可参考\u003csup\u003e[2]\u003c/sup\u003e**\r\n  **异常处理IDEA快捷键为Alt+Enter\u003csup\u003e[3]\u003c/sup\u003e**\r\n\r\n运行该代码,得到以下结果\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115522643-e090bd00-a2be-11eb-8be0-1b5bee926f5a.png)\r\n\r\n我们多调用几次read方法\r\n\r\n```java\r\npackage com.bipowernode.java.io;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.FileNotFoundException;\r\nimport java.io.IOException;\r\n\r\n/*\r\njava.io.FileInputStream:\r\n    1、文件字节输入流,万能的,任何类型的文件都可以采用这个流来读。\r\n    2、字节的方式,完成输入的操作,完成读的操作(硬盘---\u003e 内存)\r\n */\r\npublic class FileInputStreamTest01 {\r\n    public static void main(String[] args) {\r\n        FileInputStream fis = null;\r\n        //创建文件字节输入流对象\r\n        //文件路径:D:\\javase\\temp (IDEA会自动把\\变成\\\\,因为java中\\表示转义)\r\n        try {\r\n            fis = new FileInputStream(\"D:\\\\javase\\\\temp\"); //Alt+回车可以处理异常\r\n\r\n            //开始读\r\n            int readData = fis.read();\r\n            System.out.println(readData);//97\r\n\r\n            readData = fis.read();\r\n            System.out.println(readData);//98\r\n\r\n            readData = fis.read();\r\n            System.out.println(readData);//99\r\n\r\n            readData = fis.read();\r\n            System.out.println(readData);//100\r\n\r\n            readData = fis.read();\r\n            System.out.println(readData);//101\r\n\r\n            readData = fis.read();\r\n            System.out.println(readData);//102\r\n\r\n            readData = fis.read();\r\n            System.out.println(readData);//-1\r\n\r\n        } catch (FileNotFoundException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        } finally {\r\n            //再finally语句块当中确保流一定关闭\r\n            if (fis != null){ //避免空指针异常\r\n                //关闭流的前提是流不是空。流是null就没必要关闭。\r\n                try {\r\n                    fis.close();\r\n                } catch (IOException e) {\r\n                    e.printStackTrace();\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n得到以下结果\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115523421-a1af3700-a2bf-11eb-9c62-2532d98534e9.png)\r\n\r\n我们用循环对以上程序进行改进\r\n\r\n```java\r\npackage com.bipowernode.java.io;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.FileNotFoundException;\r\nimport java.io.IOException;\r\n\r\n/*\r\n    对第一个程序改进\r\n */\r\npublic class FileInputStreamTest02 {\r\n    public static void main(String[] args) {\r\n        FileInputStream fis = null;\r\n        try {\r\n            fis = new FileInputStream(\"D:/javase/temp\");\r\n\r\n            while (true){\r\n                int readData = fis.read();\r\n                if(readData == -1){\r\n                    break;\r\n                }\r\n                System.out.println(readData);\r\n            }\r\n        } catch (FileNotFoundException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        } finally {\r\n            if (fis != null){\r\n                try {\r\n                    fis.close();\r\n                } catch (IOException e) {\r\n                    e.printStackTrace();\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n**注意:文件路径中的\\\\也可以用/代替**\r\n得到以下结果\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115524647-f1423280-a2c0-11eb-837a-ee15b2b5a54c.png)\r\n\r\n我们继续改进该程序\r\n对while循环进行改进\r\n\r\n```java\r\npackage com.bipowernode.java.io;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.FileNotFoundException;\r\nimport java.io.IOException;\r\n\r\n/*\r\n    对第一个程序改进\r\n */\r\npublic class FileInputStreamTest02 {\r\n    public static void main(String[] args) {\r\n        FileInputStream fis = null;\r\n        try {\r\n            fis = new FileInputStream(\"D:/javase/temp\");\r\n\r\n            int readData = 0;\r\n            while ((readData = fis.read()) != -1){\r\n                System.out.println(readData);\r\n            }\r\n        } catch (FileNotFoundException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        } finally {\r\n            if (fis != null){\r\n                try {\r\n                    fis.close();\r\n                } catch (IOException e) {\r\n                    e.printStackTrace();\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n**我们分析这个程序的缺点:**\r\n**一次读取一个字节byte,这样内存和硬盘交互太频繁,基本上时间/资源都耗费在交互上面了。能不能一次读取多个字节呢?**\r\n\r\n我们先来看一下相对路径的问题\r\n例如:先随便写一个文件名tempfile\r\n\r\n```java\r\npackage com.bipowernode.java.io;\r\n\r\nimport java.io.FileInputStream;\r\nimport java.io.FileNotFoundException;\r\nimport java.io.IOException;\r\n\r\npublic class FileInputStreamTest03 {\r\n    public static void main(String[] args) {\r\n        FileInputStream fis = null;\r\n        try {\r\n            fis = new FileInputStream(\"tempfile\");\r\n        } catch (FileNotFoundException e) {\r\n            e.printStackTrace();\r\n        }finally {\r\n            if (fis != null){\r\n                try {\r\n                    fis.close();\r\n                } catch (IOException e) {\r\n                    e.printStackTrace();\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n\r\n得到以下结果\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115530746-a3c8c400-a2c6-11eb-8ad9-7c400c6eb6db.png)\r\n\r\n这样显然不行\r\n\r\n那我们在src下建立一个文件会怎样\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115531041-e9858c80-a2c6-11eb-8695-7e06f940d157.png)\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115531112-fbffc600-a2c6-11eb-8871-f3ed4bb1c86f.png)\r\n\r\n执行得到以下结果\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115531225-1e91df00-a2c7-11eb-8d78-07332cb41218.png)\r\n\r\n依然是找不到指定文件\r\n\r\n我们在模块下建立也是不行的\r\n\r\n那将文件放在工程下呢?\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115531679-a5df5280-a2c7-11eb-88fb-35ae7a925555.png)\r\n\r\n执行后发现可以了\r\n\r\n那么如何访问在chapter23下的文件呢?\r\n\r\n**chapter23/tempfile2**\r\n\r\n![图片](https://user-images.githubusercontent.com/56142279/115532233-2e5df300-a2c8-11eb-95a8-494efb2c6144.png)\r\n\r\n**看看往byte数组中读**\r\n\r\n```java\r\nimport java.io.FileInputStream;\r\nimport java.io.FileNotFoundException;\r\nimport java.io.IOException;\r\n\r\n/*\r\nint read(byte[] b)\r\n    一次最多读取 b.length 个字节。\r\n    减少硬盘和内存的交互,提高程序的执行效率。\r\n    往byte[]数组当中读。\r\n */\r\npublic class FileInputStreamTest03 {\r\n    public static void main(String[] args) {\r\n        FileInputStream fis = null;\r\n        try {\r\n            fis = new FileInputStream(\"chapter23/tempfile2\");\r\n            // 开始读,采用byte数组,一次读取多个字节。最多读取“数组.length”个字节。\r\n            byte[] bytes = new byte[4]; // 准备一个4个长度的byte数组,一次最多读取4个字节。\r\n            // 这个方法的返回值是:读取到的字节数量。(不是字节本身)\r\n            int readCount = fis.read(bytes);\r\n            System.out.println(readCount); // 第一次读到了4个字节。\r\n            //将字节数组全部转换为字符串\r\n            System.out.println(new String(bytes));//abcd\r\n\r\n            readCount = fis.read(bytes);\r\n            System.out.println(readCount);//2\r\n\r\n            readCount = fis.read(bytes);//一个字节都没读到\r\n            System.out.println(readCount);//-1\r\n        } catch (FileNotFoundException e) {\r\n            e.printStackTrace();\r\n        } catch (IOException e) {\r\n            e.printStackTrace();\r\n        } finally {\r\n            if (fis != null){\r\n                try {\r\n                    fis.close();\r\n                } catch (IOException e) {\r\n                    e.printStackTrace();\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\n```\r\n[1] 抽象类[https://github.com/xxf-wbw/JavaSE/issues/2](url)\r\n[2]finally语句块[https://github.com/xxf-wbw/JavaSE/issues/3](url)\r\n[3]IDEA异常处理快捷键[https://www.cnblogs.com/lijun6/p/10622089.html](url)","author":{"url":"https://github.com/FiveColors","@type":"Person","name":"FiveColors"},"datePublished":"2021-04-21T03:06:39.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/1/JavaSE/issues/1"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:83936505-c84f-a26c-25af-a6140bbe1340
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idAC3C:3DEC57:53C6A99:75DC3A1:6A571CA6
html-safe-nonce68bcd5132c8969bd324684dac6c59dde1e6291b4de955c98d427468605423805
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBQzNDOjNERUM1Nzo1M0M2QTk5Ojc1REMzQTE6NkE1NzFDQTYiLCJ2aXNpdG9yX2lkIjoiNjY2OTg4ODYwMjQ4MTU2NDgzOCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac7c834e4f93b7de7e867c36f6b58d220fd5214e7e2a6c2b5aafd6df3a549683e1
hovercard-subject-tagissue:863405379
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/FiveColors/JavaSE/1/issue_layout
twitter:imagehttps://opengraph.githubassets.com/5bb3d637f06d211768d97d168311d5871c235017fd624be9a6aed97916b52daf/FiveColors/JavaSE/issues/1
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/5bb3d637f06d211768d97d168311d5871c235017fd624be9a6aed97916b52daf/FiveColors/JavaSE/issues/1
og:image:altIO流 IO流概述 IO流就是文件的输入和输出 I : Input O : Output 通过IO可以完成硬盘文件的读和写。 IO流分类 有多种分类方式: 一种方式是按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read)。从内存中出来,叫做输出(Output)。或者叫做写(Write)。 另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameFiveColors
hostnamegithub.com
expected-hostnamegithub.com
None4e7a7296a3830877cf21a6ad2a972c9e618a48915e03966cf0c53eb08e5aad98
turbo-cache-controlno-preview
go-importgithub.com/FiveColors/JavaSE git https://github.com/FiveColors/JavaSE.git
octolytics-dimension-user_id56142279
octolytics-dimension-user_loginFiveColors
octolytics-dimension-repository_id360006615
octolytics-dimension-repository_nwoFiveColors/JavaSE
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id360006615
octolytics-dimension-repository_network_root_nwoFiveColors/JavaSE
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release2576d1f0198cf1588faf2edf27f1ed120903be10
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/FiveColors/JavaSE/issues/1#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FFiveColors%2FJavaSE%2Fissues%2F1
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FFiveColors%2FJavaSE%2Fissues%2F1
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=FiveColors%2FJavaSE
Reloadhttps://github.com/FiveColors/JavaSE/issues/1
Reloadhttps://github.com/FiveColors/JavaSE/issues/1
Reloadhttps://github.com/FiveColors/JavaSE/issues/1
FiveColors https://github.com/FiveColors
JavaSEhttps://github.com/FiveColors/JavaSE
Notifications https://github.com/login?return_to=%2FFiveColors%2FJavaSE
Fork 0 https://github.com/login?return_to=%2FFiveColors%2FJavaSE
Star 0 https://github.com/login?return_to=%2FFiveColors%2FJavaSE
Code https://github.com/FiveColors/JavaSE
Issues 3 https://github.com/FiveColors/JavaSE/issues
Pull requests 0 https://github.com/FiveColors/JavaSE/pulls
Actions https://github.com/FiveColors/JavaSE/actions
Projects https://github.com/FiveColors/JavaSE/projects
Security and quality 0 https://github.com/FiveColors/JavaSE/security
Insights https://github.com/FiveColors/JavaSE/pulse
Code https://github.com/FiveColors/JavaSE
Issues https://github.com/FiveColors/JavaSE/issues
Pull requests https://github.com/FiveColors/JavaSE/pulls
Actions https://github.com/FiveColors/JavaSE/actions
Projects https://github.com/FiveColors/JavaSE/projects
Security and quality https://github.com/FiveColors/JavaSE/security
Insights https://github.com/FiveColors/JavaSE/pulse
IO流https://github.com/FiveColors/JavaSE/issues/1#top
https://github.com/FiveColors
FiveColorshttps://github.com/FiveColors
on Apr 21, 2021https://github.com/FiveColors/JavaSE/issues/1#issue-863405379
https://user-images.githubusercontent.com/56142279/115488763-a0651680-a28d-11eb-8abe-362e3bb56253.png
https://user-images.githubusercontent.com/56142279/115516649-eedbda80-a2b8-11eb-86a4-d681b2c8d4d9.png
https://user-images.githubusercontent.com/56142279/115517155-6b6eb900-a2b9-11eb-989b-63099612f6c7.png
https://user-images.githubusercontent.com/56142279/115522643-e090bd00-a2be-11eb-8be0-1b5bee926f5a.png
https://user-images.githubusercontent.com/56142279/115523421-a1af3700-a2bf-11eb-9c62-2532d98534e9.png
https://user-images.githubusercontent.com/56142279/115524647-f1423280-a2c0-11eb-837a-ee15b2b5a54c.png
https://user-images.githubusercontent.com/56142279/115530746-a3c8c400-a2c6-11eb-8ad9-7c400c6eb6db.png
https://user-images.githubusercontent.com/56142279/115531041-e9858c80-a2c6-11eb-8695-7e06f940d157.png
https://user-images.githubusercontent.com/56142279/115531112-fbffc600-a2c6-11eb-8871-f3ed4bb1c86f.png
https://user-images.githubusercontent.com/56142279/115531225-1e91df00-a2c7-11eb-8d78-07332cb41218.png
https://user-images.githubusercontent.com/56142279/115531679-a5df5280-a2c7-11eb-88fb-35ae7a925555.png
https://user-images.githubusercontent.com/56142279/115532233-2e5df300-a2c8-11eb-95a8-494efb2c6144.png
https://github.com/xxf-wbw/JavaSE/issues/2https://github.com/FiveColors/JavaSE/issues/url
https://github.com/xxf-wbw/JavaSE/issues/3https://github.com/FiveColors/JavaSE/issues/url
https://www.cnblogs.com/lijun6/p/10622089.htmlhttps://github.com/FiveColors/JavaSE/issues/url
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.