当前位置: 首页 > news >正文

海外模板网站有哪些网站建设公司电话销售客源哪里找

海外模板网站有哪些,网站建设公司电话销售客源哪里找,怎么在本机做网站,云服务器上放多个网站文章目录 文件内容的读写---数据流字节流和字符流打开和关闭文件文件资源泄漏try with resources 文件内容的读写—数据流 文件内容的操作,读文件和写文件,都是操作系统本身提供了API,在Java中也进行了封装. Java中封装了操作文件的这些类,我们给它们起了个名字,叫做文… 文章目录 文件内容的读写---数据流字节流和字符流打开和关闭文件文件资源泄漏try with resources 文件内容的读写—数据流 文件内容的操作,读文件和写文件,都是操作系统本身提供了API,在Java中也进行了封装. Java中封装了操作文件的这些类,我们给它们起了个名字,叫做文件流 / “IO流”. IO流的特点: 我要从文件中读取100字节的数据,有以下几种读法. 直接一口气,把100字节都读完.一次读50字节,分两次.一次读10字节,分10次.一次读1字节,分100次. … 字节流和字符流 Java实现IO流的类有很多,可以分成两个大的类别. 字节流(二进制): 读写数据的基本单位,就是字节. InputStream OutputStream字符流(文本): 读写数据的基本单位,就是字符.(字符流内部做的工作会更多一些,会自动的查询码表,把二进制数据,转换成对应的字符) Reader Writer 上述这四个类,都是抽象类,实际上真正干活的,并非是上面这四个. 另外,Java中提供了很多很多类,来实现上述的这个四个抽象类. 打开和关闭文件 使用InputStream来去读取文件: 我们先手动在当前目录下创建一个文件,文件内容为hello. 创建一个FileInputStream对象通过指定文件路径来获取输入流。 package javaEE.fileIO;import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream;public class J {// FileNotFoundException这个异常,是IOException的子类(IOException的特殊情况)public static void main(String[] args) throws IOException {// 因为InputStream是一个抽象类,我们不能直接new,只能new一个实现这个类的子类.// FileInputStream的括号内既可以指定绝对路径,也可以指定File对象.InputStream inputStream new FileInputStream(./test.txt);// 在上述操作中,还隐含了一个操作打开文件.// 与打开相对的还有一个关闭操作inputStream.close();} }InputStream 只是一个抽象类要使用还需要具体的实现类。关于 InputStream 的实现类有很多基本可以认为不同的输入设备都可以对应一个 InputStream 类我们现在只关心从文件中读取所以使用FileInputStream. 上述代码,只写成这样,其实是有风险的. 如果中间出现一些return操作或者抛出异常的操作,这些都会导致close()执行不到. 较好的写法还在后面~ 文件资源泄漏 如果我们不使用close关闭,会咋样呢? 打开文件实际上实在该进程的文件描述符中,创建了一个新的表项. 之前写过进程 与 PCB(进程控制)的关系,这里就不再解释了. 文件描述符:描述了1该进程,都要操作那些文件,文件描述符,可以认为是一个数组,数组的每个元素就是一个struct file对象(Linux内核),每个结构体就描述了对应操作的文件的信息,数组的下标,就称为文件描述符. 每一次打开一个文件,就相当于在数组上占用了一个位置,而在系统内核中,文件描述符数组,是固定长度并且不可扩容的. 除非主动调用close,关闭文件,此时,才会释放出空间.如果代码里一直打开,不去关闭,就会使这里的资源越来越少. 如果把数组搞满了,后续再打开文件,就会打开失败. 这个问题称为文件资源泄漏. 这种问题,也是属于对程序员非常不友好的问题. 当文件资源泄漏时,程序的逻辑,都是能正常执行的,看不出来有啥不对的地方. 这样的问题,不容易被发现. 泄漏不是一瞬间就泄漏完,而是一个持续的过程.整个问题直到所有的资源泄漏完毕,这一刻才会集中的爆发出来. public static void main(String[] args) throws IOException {// 因为InputStream是一个抽象类,我们不能直接new,只能new一个实现这个类的子类.// FileInputStream的括号内既可以指定绝对路径,也可以指定File对象.InputStream inputStream new FileInputStream(./test.txt);// 在上述操作中,还隐含了一个操作打开文件.// 与打开相对的还有一个关闭操作inputStream.close();}在上述代码中,虽然要求确实是使用完毕之后要关闭,但是局限于本代码,不写close也行.因为close之后,紧接着进程就结束了. 刚才说的close是释放文件描述符表里的元素,进程结束,意味着PCB就真个销毁,PCB上的文件描述符,就会整个释放. InputStream inputStream new FileInputStream(./test.txt); inputStream.close();上述代码,只写成这样,其实是有风险的. 如果中间出现一些return操作或者抛出异常的操作,这些都会导致close()执行不到. 为了确保close能被执行到,所以要把它放在finally里面. import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream;public class J {public static void main(String[] args) throws IOException {// 由于inputStream在try里面,而finally不能共享到try中的作用域,所以我们要把InputStream定义在try外面.InputStream inputStream null;try {inputStream new FileInputStream(./test.txt);} finally {inputStream.close();}} }都写try和finally了,其实还可以写上catch. public static void main(String[] args){// 由于inputStream在try里面,而finally不能共享到try中的作用域,所以我们要把InputStream定义在try外面.InputStream inputStream null;try {inputStream new FileInputStream(./test.txt);} catch (IOException e) {e.printStackTrace();} finally {// 又因为close会抛出一个IO异常,所以要再加上一层trytry {inputStream.close();} catch (IOException e) {throw new RuntimeException(e);}}}这么写代码确实更严谨了,但是看起来更复杂了. 其实,针对文件关闭这样的操作,我们还有一种更优雅的写法,即简单又可靠~ try with resources public class J {public static void main(String[] args) throws FileNotFoundException {// 使用这种写法,我们不变写finally也不必写close了~try (InputStream inputStream new FileInputStream(./test.txt)) {}catch (IOException e) {e.printStackTrace();}} }这其实是Java中引入的一种特殊的写法,叫做try with resources. 也就是在try的括号里面,写上要管理的资源,这里的资源就会在try代码块结束的时候,自动去执行关闭操作. 这里()中创建的资源可以是多个. 需要注意的是:必须是实现了Closeable的接口,才能放到try的括号内~ 好像本文没咋写读取文件内容,光写close了. emmm,留到下一篇文章讲吧~ 本文到这里就结束啦~
http://www.dnsts.com.cn/news/123102.html

相关文章:

  • 手机网站开发教程wordpress wap版
  • 做煤网站中国建造师官方网站
  • 可以做外链的图片网站如何制作微信小程序店铺
  • 安卓手机做网站WordPress安装在Windows
  • c网站开发教程西部数码上传网站
  • 网站开发模块分类苏州中小型网站建设
  • 招聘网站排行榜2021杭州网站建设开发外包公司
  • 华为网站建设策划书央企网站开发
  • 网站分哪几种娱乐网站建设ppt模板
  • 网站域名的建立秦皇岛市做网站优化
  • 视频网站做cpa家庭带宽100m做网站
  • 电子商务成功的网站如何网站seo
  • 关于旅游类网站建设设计方案购物网站的前台用什么做
  • 西峡微网站开发网站编辑是网页制作么
  • 宁波海曙网站开发电商网站开发企业
  • 制作网站的步骤域名汕头百度快速优化排名
  • 用什么网站做pptwordpress手机导航栏
  • 做房产网站在百度推广推广费公众号软文素材
  • 网站如何交换链接平江高端网站建设
  • 软路由系统如何做网站网站建设交流会
  • 佛山企业网站建设服务推广形式有哪几种
  • 网站开发的数据库设计实体是什么wordpress国内备份神器
  • 仿制手机网站教程推广普通话手抄报内容文字
  • 一般在百度做网站多少钱湛江专门做网站
  • 网站建设 柳州网站开发的必要性
  • 公司网站建设佛山哪家专业旧房翻新装修哪家公司好
  • 营销型网站建设 案例品牌建设运营规划
  • 网站帮忙备案wordpress 自动图片大小
  • 营销网站建设解决方案帮助传销做网站违法吗
  • 交友软件网站建设韶关建网站