Java类库中包括许多必须通过调用close方法来手工关闭的资源.例如InputStream.OutputStream和java.sql.Connection.客户端经常会忽略资源的关闭,造成严重的性能后果也就可想而知了.根据经验,try-finally 语句是确保资源会被适当关闭的最佳方法,就算是发生异常或者返回也一样: public String tryfinally(String path) throws IOException { BufferedReader reader = new…
声明:该博文以socket中,关闭输出流为例进行说明. 为了方便讲解,我们把DataOutputstream dout = new DataOutputStream(new BufferedOutputStream(mySocket.getOutputStream()));中的dout做为Socket输出流的代言.同样的,din是输入流的代言. 可以造成dout被关闭的操作有: 1.调用dout.close();或din.close();因为使用这种流关闭,会造成socket被关闭,所以输入输出…
以Socket发送数据为例: 发送数据时候要声明:DataOutputStream os = new DataOutputStream(socket.getOutputStream()); 最近开发遇到的为题是我要向服务端发送图片,如果os.close()的话服务器可以收到图片但是我客户端的socket会受影响关闭.如果不用os.close()的话,服务器接收图片会有影响,查资料说调用socket.shutdownOutputStream();可以关闭输出流,而且不会影响socket发送数据.…
java.io.File类(文件和目录路径名的抽象表示形式) 如果希望在程序中操作文件和目录都可以通过File类来完成,File类能新建.删除.重命名文件和目录. File类是文件或目录的路径,而不是文件本身,因此File类不能直接访问文件内容本身,如果需要访问文件内容本身,则需要使用输入/输出流. File类代表磁盘或网络中某个文件或目录的路径名称, 但他不能直接通过File对象读取和写入数据,如果要操作数据,需要IO流.就好比“地址”不代表“水库”,要“存取”里面的水到你“家里”,需要“管道…
输入和输出 JAVA的流分为输入流和输出流两部分, 输入流:InputStream或者Reader:从文件中读到程序中: 输出流:OutputStream或者Writer:从程序中输出到文件中: Reader和Writer是字符流:只能针对字符文件进行读写操作. InputStream和OutputStream是二进制流:所有的文件都可以进行读写操作.也就是可以处理所有类型数据,如:图片,MP3,AVI视频文件,而字符流只能处理字符数据.只要是处理纯文本数据,就要优先考虑使用字符流,除此之外都用…
File类 ·java.io.File类:文件和目录路径名的抽象表示形式,与平台无关 ·File能新建.删除.重命名文件和目录,但File不能访问文件内容本身.如果需要访问文件内容本身,则需要使用输入/输出流 ·File对象可以作为参数传递给流的构造函数 ·File类的常见构造方法: public File(String pathname) 以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储. p…
RandomAccessFile&IO流&排序&方法论 我们总觉得历史是极其遥远的东西,与我们并无关联,又觉得历史隐藏在图书馆的旧书之中. 然而,我们每个人都有真真切切的历史.那便是每日的历史.今天自己做了些什么,又是怎么做的,都会成为你历史中的一页. 是畏缩不前.碌碌无为,还是勇猛挑战,花心思比昨天做的更好.每种态度,都会写就属于你的历史. --尼采 <快乐的知识> RandomAccessFile 以下是昨天对RandomAccessFile的具体练习: packa…
IO流小总结 IO流的本质就是用于数据的传输,根据流的方向的不同,有输入流.输出流.根据数据类型的不同,又有字节流.字符流. 字节流 字节输入流   InputStream 字节输出流   OutputStream 字节流:主要用来处理字节或二进制对象.例如:视频.音频.图片等. 字符流:主要用来处理字符.字符数组或者字符串文件.例如html.css.txt等 字节流又称万能流,能处理任何文件,但是在处理字符方面不太擅长,于是就有了字符流. 常用的基本方法 void close()  关闭此输出…
11.IO流 11.1 java.io.File类的使用 1课时 11.2 IO原理及流的分类 1课时 11.3 节点流(或文件流) 1课时 11.4 缓冲流 1课时 11.5 转换流 1课时 11.6 标准输入/输出流(了解) 1课时 11.7 打印流(了解) 1课时 11.8 数据流(了解) 1课时 11.9 对象流 ----涉及序列化.反序列化 1课时 11.10 随机存取文件流 1课时 11-1 File类的使用 案例 import java.io.File; import java.i…