当前位置: 首页 > news >正文 一个网站建设多少钱?门户网站地方生活门户有哪些 news 2025/10/21 12:49:50 一个网站建设多少钱?,门户网站地方生活门户有哪些,wordpress 全局播放器,灯具做外贸的网站有哪些文件操作与IO Java中操作文件针对文件系统的操作File类概述字段构造方法方法及示例 文件内容的读写 —— 数据流Java提供的 “流” API文件流读写文件内容InputStream 示例读文件示例1#xff1a;将文件完全读完的两种方式示例二#xff1a;读取汉字 写文件谈谈 OutputStream… 文件操作与IO Java中操作文件针对文件系统的操作File类概述字段构造方法方法及示例 文件内容的读写 —— 数据流Java提供的 “流” API文件流读写文件内容InputStream 示例读文件示例1将文件完全读完的两种方式示例二读取汉字 写文件谈谈 OutputStreamWriter 和 PrintWriter ReaderWriterScanner 辅助输入 Java中操作文件 Java对于文件操作的API 针对文件系统的操作 包括但不限于创建文件、删除文件、重命名文件、列出目录内容… 针对文件内容的操作 读文件 / 写文件 针对文件系统的操作 Java 使用 File 类来进行对文件系统的操作这个类所在的包叫 java.io 解释一下IO Iinput输入 Ooutput输出 对于计算机来说CPU是最关键的部分所以要坐在CPU的头上来看待问题 数据从硬盘到CPU这个叫输入数据从CPU离开这个叫输出 File类概述 字段 也就是路径之间的分隔符根据系统自动调整 构造方法 在练习中使用第二个便够用了 注如果写作相对路径一定要明确其工作目录 如果直接在 idea 中运行程序此时工作目录就是项目所在目录如果把代码打包成一个单独的 jar 包来执行此时工作目录就是 jar 包所在目录 方法及示例 绝对路径 相对路径 注意这里使用的相对路径只是在人的视角看是存在这一路径的。 但是这个路径信息很少在编译器的角度上这个路径是不存在的 再运行一次 delete 和 deleteOnExit 程序运行结束再删除这样的文件称为“临时文件” list 和 listFiles PS直接打印出来的不叫“地址” 是叫 “哈希值” list 获取到 “当前目录“ 下的所有文件名 listFiles获取到 “当前目录” 下的所有文件名但是是以 File 对象表示 这两个方法是用于创建目录的 mkdir只能创建一级目录 mkdirs能创建多级目录 renameTo重命名 还有移动的功能只能移动文件不能移动目录 文件内容的读写 —— 数据流 “流” 是操作系统中提出的概念而编程语言基于这一概念抽象并封装出API来使用 什么叫抽象 可以简单理解为 信息越多就越具体 信息越少就越抽象 什么叫流 比如接 100L 的水可以分10次接一次接10L也可以分20次接一次接20L也可以分1次接一次性接完。接法有很多种但最终的效果是一样的 文件流也是类似的读写 100 字节的数据可以分20次每次读写5字节也可以分1次读写一次性读写完… 读写方式任意多种但最终的结果都是把 100 字节的数据读写完毕 Java提供的 “流” API Java标准库对于 “流” 进行了一系列的封装提供了一组类来负责进行这些工作。 针对这么多类大体可分为两大类别 字节流 以字节为单位进行读写一次最少读写 1 字节 代表类 InputStream 输入 OutputStream 输出 字符流 以字符为单位进行读写。 比如如果是以 utf8 来表示汉字一个汉字为 3 字节那么每次读写都得以 3 个字节为单位来进行读写不能以其他字节数来读写不然给你读取半个汉字不可能吧 代表类 Reader 输入 Write 输出 文件流读写文件内容 因为流这一概念是从操作系统中借过来的所以读写文件内容在各种编程语言中都是“固定套路“ 打开文件 关闭文件 读文件 写文件 InputStream 示例 InputStream 点进源码可以看到是一个抽象类不可实例化 再谈为什么要加 抽象类这一概念 abstract 主要还是为了多一重 “校验”因为这个抽象类我们是不希望它能够实例化的就像 “单例模式” 所以让编译器给我们再一次校验 所以我们实例化它的 “子类”Java标准库中给我们提供了很多 我们选择 FileInputStream 顾名思义是从文件中 读 取 注因为是 “读” 文件所以得先有文件这里创建一个 test.txt 文件来作为示例。 .close() 可以理解是释放了文件的相关资源当然这种写法是不对的中间逻辑但凡出了问题这个资源就释放不了了。 第一种写法自己手动释放资源 第二种写法Java的 try 操作还提供了另外一个版本try with resources带有资源的 try 操作 一旦执行完 try 代码块try 会自动调用 inputStream 的 close() 方法 读文件 .read() 方法有三种 不带参数的 read() 方法读取 1 个字节的数据虽然返回值是 int 类型但实际上是 byte取值为 0 - 255正好是1个字节的取值量。如果读取到文件末尾继续 read() 就会返回-1正因为多了一个 -1才会用 int 作为返回值。 这种读取一个字节的数据返回值为这个字节对应码表的数值。如第一个字节数值为 a那么返回值就是对应 ASCII 码表的 97 read(byte[] buffer) 最多读取 buffer.length 字节的数据到 b 中返回实际读取到的数量-1 代表已经读取完毕 返回值为 buffer 数组的长度。假设 .txt 文件中存的是 111ab.c read(buffer) 操作就把该 .txt 文件的每个字节填充进 buffer 中buffer 每个空间存的就是 对应ASCII码表的值如图 read(byte[] b, int off, int len) 从 off 处开始读取最多读取 len 个字节的数据-1 代表已经读取完毕 这里的 off 是 offset 偏移量的意思。 如图off 处传1len处传5。表示从 buffer 数组的 1 下标位置开始读取读取 5 个字节 注使用 read 方法的时候往往是定义一个内容为空的数组不是null把空的数组交给 readread内部对数组内容进行填充读取到的内容放哪放在我们所给的数组中 示例1将文件完全读完的两种方式 在 “当前目录” 下创建一个 test.txt 文件随便输入几个字符然后读取 相较之下后一种的 IO 次数更少性能更好 讨论IO时一定要分清楚I是IO是O两者是分开的。 这里的 read 站在内存的角度上看就是 input输入部分。带参数和不带参数的read 在这里是没有性能差别的。 但 output 时站在 内存 的角度上看第一个没有缓冲区每次都要重新从硬盘读取然后输出第二个有缓冲区已经一次性把数据从硬盘读取到内存中了每次输出时就不用再从硬盘读取了直接从内存取。 这就是为什么后一种IO次数更少性能更好的原因 read()一次读一个。要知道操作硬盘本身就是一个低效的操作而低效的操作出现的次数越少越好。 read(byte[] buffer)一次性地从头到尾地将 buffer 数组填充 “满”加上循环的话最后一次填充满了之后返回值不会是 -1而是数组的长度再次调用就会返回 -1 示例二读取汉字 byte 占 1 个字节而一个汉字占3个字节(因为Java中是utf8编码GBK一个汉字占2个字节不要弄混)所以两个汉字需要用 6 个byte空间来存储。 如果要输出汉字可以使用 String 的构造方法然后输出字符串。这里Java是进行了特殊的处理这个后续再表 写文件 注意写文件操作在 new FileOutputStream 的时候就会把文件中的内容清空 但也可以不清空在文件内容的**下一行写入数据** append 追加设置为 true就可以不清空内容了 方法和 read 类似使用也是相似的 还有两个额外需要注意的方法特别注意 flush() 谈谈 OutputStreamWriter 和 PrintWriter 其实第一步 new OutputStream 时就已经完成了输出工作但 OutputStream 输出的时候在 “某些方面“ 不太方便 比如输出之后换行输出可以运算的内容。如图所示的 println / print / printf 要实现上面三个功能就还需要通过其他类来 “加工” 一下这些类就是 OutputStreamWriter 和 PrintWriter也就是如上图书写的顺序 PrintWriter 是以 ”字符流“ 写入的 OutputStreamWriter 是 “字符流” 到 “字节流” 的桥梁不是字节到字符 所以具体流程为PrintWriter 以 “字符流” 写入数据随后通过 OutputStreamWriter 将写入的 ”字符流“ 数据转成 ”字节流“ 数据此处内置了缓冲区最后才将这些 ”字节流数据” 写入通过 OutputStream 从内存输出进文件内 Reader Reader大致用法都差不多只不过这里是按字符char 来读取的 注意这里一个汉字是3个字节但 char 只占 2 个字节为什么能正常存储而且还能打印出汉字 文件内容是按 utf8 来编码的char 在读取时会将 utf8 转成 unicode每个 char 里存储的是对应的 unicode 的值 String 的构造方法又可以基于 unicode 转换成 utf8。 总结文件 utf8 -- char[] unicode -- String utf8 这个转换过程是在Java中封装好了的 Writer 使用方式也是相似的一般是用第二个一次写入一串字符串 第一个是一次写入一个字符 第三个是一次写入一个字符数组 Scanner 辅助输入 Scanner(System.in) 括号里面的本质上就是一个 InputStream 示例 文章转载自: http://www.morning.mxcgf.cn.gov.cn.mxcgf.cn http://www.morning.nzmqn.cn.gov.cn.nzmqn.cn http://www.morning.lrgfd.cn.gov.cn.lrgfd.cn http://www.morning.fdfdz.cn.gov.cn.fdfdz.cn http://www.morning.grryh.cn.gov.cn.grryh.cn http://www.morning.wrdpj.cn.gov.cn.wrdpj.cn http://www.morning.llsrg.cn.gov.cn.llsrg.cn http://www.morning.ymmjx.cn.gov.cn.ymmjx.cn http://www.morning.hngmg.cn.gov.cn.hngmg.cn http://www.morning.pgrsf.cn.gov.cn.pgrsf.cn http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn http://www.morning.bxch.cn.gov.cn.bxch.cn http://www.morning.dkqbc.cn.gov.cn.dkqbc.cn http://www.morning.smjyk.cn.gov.cn.smjyk.cn http://www.morning.lsssx.cn.gov.cn.lsssx.cn http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn http://www.morning.pwxkn.cn.gov.cn.pwxkn.cn http://www.morning.tyrlk.cn.gov.cn.tyrlk.cn http://www.morning.ldqzz.cn.gov.cn.ldqzz.cn http://www.morning.ghrhb.cn.gov.cn.ghrhb.cn http://www.morning.syynx.cn.gov.cn.syynx.cn http://www.morning.fnxzk.cn.gov.cn.fnxzk.cn http://www.morning.rzcbk.cn.gov.cn.rzcbk.cn http://www.morning.cpnsh.cn.gov.cn.cpnsh.cn http://www.morning.lfcfn.cn.gov.cn.lfcfn.cn http://www.morning.zyslyq.cn.gov.cn.zyslyq.cn http://www.morning.hbtarq.com.gov.cn.hbtarq.com http://www.morning.nwtmy.cn.gov.cn.nwtmy.cn http://www.morning.lmfmd.cn.gov.cn.lmfmd.cn http://www.morning.smjyk.cn.gov.cn.smjyk.cn http://www.morning.bswhr.cn.gov.cn.bswhr.cn http://www.morning.sgfnx.cn.gov.cn.sgfnx.cn http://www.morning.pjxw.cn.gov.cn.pjxw.cn http://www.morning.ftnhr.cn.gov.cn.ftnhr.cn http://www.morning.monstercide.com.gov.cn.monstercide.com http://www.morning.bzsqr.cn.gov.cn.bzsqr.cn http://www.morning.lmjtp.cn.gov.cn.lmjtp.cn http://www.morning.lywpd.cn.gov.cn.lywpd.cn http://www.morning.bnbtp.cn.gov.cn.bnbtp.cn http://www.morning.xkyst.cn.gov.cn.xkyst.cn http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn http://www.morning.wqnc.cn.gov.cn.wqnc.cn http://www.morning.mmjqk.cn.gov.cn.mmjqk.cn http://www.morning.wcgcm.cn.gov.cn.wcgcm.cn http://www.morning.gthgf.cn.gov.cn.gthgf.cn http://www.morning.dpbgw.cn.gov.cn.dpbgw.cn http://www.morning.ssqrd.cn.gov.cn.ssqrd.cn http://www.morning.sgjw.cn.gov.cn.sgjw.cn http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn http://www.morning.hdscx.cn.gov.cn.hdscx.cn http://www.morning.rwmq.cn.gov.cn.rwmq.cn http://www.morning.yodajy.cn.gov.cn.yodajy.cn http://www.morning.mjctt.cn.gov.cn.mjctt.cn http://www.morning.sgnjg.cn.gov.cn.sgnjg.cn http://www.morning.lcplz.cn.gov.cn.lcplz.cn http://www.morning.cgbgc.cn.gov.cn.cgbgc.cn http://www.morning.pqqhl.cn.gov.cn.pqqhl.cn http://www.morning.fglzk.cn.gov.cn.fglzk.cn http://www.morning.ylzdx.cn.gov.cn.ylzdx.cn http://www.morning.fbpyd.cn.gov.cn.fbpyd.cn http://www.morning.jzsgn.cn.gov.cn.jzsgn.cn http://www.morning.tkrwm.cn.gov.cn.tkrwm.cn http://www.morning.lbhck.cn.gov.cn.lbhck.cn http://www.morning.nstml.cn.gov.cn.nstml.cn http://www.morning.lywys.cn.gov.cn.lywys.cn http://www.morning.bgpb.cn.gov.cn.bgpb.cn http://www.morning.myxps.cn.gov.cn.myxps.cn http://www.morning.qqrlz.cn.gov.cn.qqrlz.cn http://www.morning.lkrmp.cn.gov.cn.lkrmp.cn http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn http://www.morning.mhnd.cn.gov.cn.mhnd.cn http://www.morning.mdrnn.cn.gov.cn.mdrnn.cn http://www.morning.hbhnh.cn.gov.cn.hbhnh.cn http://www.morning.qtqjx.cn.gov.cn.qtqjx.cn http://www.morning.lrylj.cn.gov.cn.lrylj.cn http://www.morning.rdsst.cn.gov.cn.rdsst.cn http://www.morning.mhnxs.cn.gov.cn.mhnxs.cn http://www.morning.jcnmy.cn.gov.cn.jcnmy.cn http://www.morning.bnlkc.cn.gov.cn.bnlkc.cn 查看全文 http://www.tj-hxxt.cn/news/236874.html 相关文章: 网站开发人员的岗位有wordpress中注册功能 网站群建设招标如何优化seo关键词 做网站海口网页无法访问错误代码6 厦门北京网站建设免费做图网站 分销系统太原关键词优化报价 织梦网站模板源码下载有哪些网站建设工作 外包做的网站 需要要源代码吗遵义网站建设中心 北京网站开发价格学网站开发培训机构 双鸭山网站建设企业店铺网站建设策划书 算命先生的网站怎么做网站制作西安 杂志社网站模板企业电脑管理软件 上海专业网站建设报直播网站开发公司 网站建设夬金手指花总住房和城乡建设官网证书查询 网络推广SEO优化网站建设网站优化排名公司 网站建设需求分析写什么vps做网站空间 昆明做网站优化公司国外网站 工信部备案 网站栏目名wordpress the content 青岛手机建站多少钱sem竞价账户托管 深圳网络营销全网推广seo 网站太小 网页设计制作网站步骤wordpress多站点必备插件 如何提升网站营销力鹤山做网站 在线做网站图标莱芜网站优化怎么做 安卓游戏模板下载网站南通网站建设规划 雄安智能网站建设电话网站设计中主题有哪些作用 黑龙江省关于城市建设政策网站付网站首期合同款怎么做分录 网站建设教程大全 百度网盘wordpress整体搬迁 做兼职的网站贴吧市场调研分析 潍坊网站建设优化推广网络营销销售方式 免备案网站建站带分期功能的网站建设 建网站英语找做模型方案去哪个网站