![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
IO
文章平均质量分 78
weixin_46722612
这个作者很懒,什么都没留下…
展开
-
IO——PrintStream和PrintWriter
PrintStream是一种FilterOutputStream,它在OutputStream的接口上,额外提供了一些写入各种数据类型的方法:写入int:print(int)写入boolean:print(boolean)写入String:print(String)写入Object:print(Object),实际上相当于print(object.toString())…以及对应的一组println()方法,它会自动加上换行符。我们经常使用的System.out.println()实际上就原创 2021-03-14 11:12:21 · 169 阅读 · 0 评论 -
IO——Writer
Reader是带编码转换器的InputStream,它把byte转换为char,而Writer就是带编码转换器的OutputStream,它把char转换为byte并输出。Writer和OutputStream的区别如下:Writer是所有字符输出流的超类,它提供的方法主要有:写入一个字符(0~65535):void write(int c);写入字符数组的所有字符:void write(char[] c);写入String表示的所有字符:void write(String s)。File原创 2021-03-13 17:45:19 · 144 阅读 · 0 评论 -
IO——Reader
Reader是Java的IO库提供的另一个输入流接口。和InputStream的区别是,InputStream是一个字节流,即以byte为单位读取,而Reader是一个字符流,即以char为单位读取:java.io.Reader是所有字符输入流的超类,它最主要的方法是:public int read() throws IOException;这个方法读取字符流的下一个字符,并返回字符表示的int,范围是0~65535。如果已读到末尾,返回-1。FileReaderFileReader是Read原创 2021-03-13 17:17:24 · 190 阅读 · 0 评论 -
IO_序列化
序列化是指把一个Java对象变成二进制内容,本质上就是一个byte[]数组。为什么要把Java对象序列化呢?因为序列化后可以把byte[]保存到文件中,或者把byte[]通过网络传输到远程,这样,就相当于把Java对象存储到文件或者通过网络传输出去了。有序列化,就有反序列化,即把一个二进制内容(也就是byte[]数组)变回Java对象。有了反序列化,保存到文件中的byte[]数组又可以“变回”Java对象,或者从网络上读取byte[]并把它“变回”Java对象。我们来看看如何把一个Java对象序列化。原创 2021-03-13 16:46:59 · 47 阅读 · 0 评论 -
IO——读取classpath资源
很多Java程序启动的时候,都需要读取配置文件。例如,从一个.properties文件中读取配置:String conf = "C:\\conf\\default.properties";try (InputStream input = new FileInputStream(conf)) { // TODO:}这段代码要正常执行,必须在C盘创建conf目录,然后在目录里创建default.properties文件。但是,在Linux系统上,路径和Windows的又不一样。因此,从磁盘的原创 2021-03-13 16:17:14 · 79 阅读 · 0 评论 -
IO——操作Zip
ZipInputStream是一种FilterInputStream,它可以直接读取zip包的内容:另一个JarInputStream是从ZipInputStream派生,它增加的主要功能是直接读取jar文件里面的MANIFEST.MF文件。因为本质上jar包就是zip包,只是额外附加了一些固定的描述文件。读取zip包我们来看看ZipInputStream的基本用法。我们要创建一个ZipInputStream,通常是传入一个FileInputStream作为数据源,然后,循环调用getNextEn原创 2021-03-13 15:12:08 · 63 阅读 · 0 评论 -
IO——Filter模式
Java的IO标准库提供的InputStream根据来源可以包括:FileInputStream:从文件读取数据,是最终数据源;ServletInputStream:从HTTP请求读取数据,是最终数据源;Socket.getInputStream():从TCP连接读取数据,是最终数据源;…如果我们要给FileInputStream添加缓冲功能,则可以从FileInputStream派生一个类:BufferedFileInputStream extends FileInputStream如原创 2021-03-13 14:48:34 · 177 阅读 · 0 评论 -
JAVA笔记——IO
IO是指Input/Output,即输入和输出。以内存为中心:Input指从外部读入数据到内存,例如,把文件从磁盘读取到内存,从网络读取数据到内存等等。Output指把数据从内存输出到外部,例如,把数据从内存写入到文件,把数据从内存输出到网络等等。为什么要把数据读到内存才能处理这些数据?因为代码是在内存中运行的,数据也必须读到内存,最终的表示方式无非是byte数组,字符串等,都必须存放在内存里。从Java代码来看,输入实际上就是从外部,例如,硬盘上的某个文件,把内容读到内存,并且以Java提供的某种原创 2021-03-13 13:29:56 · 53 阅读 · 0 评论 -
IO——InputStream
InputStream就是Java标准库提供的最基本的输入流。它位于java.io这个包里。java.io包提供了所有同步IO的功能。要特别注意的一点是,InputStream并不是一个接口,而是一个抽象类,它是所有输入流的超类。这个抽象类定义的一个最重要的方法就是int read(),签名如下:public abstract int read() throws IOException;这个方法会读取输入流的下一个字节,并返回字节表示的int值(0~255)。如果已读到末尾,返回-1表示不能继续读取原创 2021-03-13 13:29:15 · 171 阅读 · 0 评论 -
IO——OutputStream
和InputStream相反,OutputStream是Java标准库提供的最基本的输出流。和InputStream类似,OutputStream也是抽象类,它是所有输出流的超类。这个抽象类定义的一个最重要的方法就是void write(int b),签名如下:public abstract void write(int b) throws IOException;这个方法会写入一个字节到输出流。要注意的是,虽然传入的是int参数,但只会写入一个字节,即只写入int最低8位表示字节的部分(相当于b原创 2021-03-13 13:24:49 · 108 阅读 · 0 评论