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

网站建设项目设计表没有网站怎么做cps

网站建设项目设计表,没有网站怎么做cps,凡科商城,做网页兼职网站有哪些目录 一、InputStream OutputStream 1.1、InputStream 和 OutputStream 一般使用 1.2、特殊使用 1.2.1、如何表示文件读取完毕#xff1f;#xff08;DataInputStream#xff09; 1.2.2、字符读取/文本数据读取#xff08;Scanner#xff09; 1.2.3、文件的随机…目录 一、InputStream  OutputStream 1.1、InputStream 和 OutputStream 一般使用 1.2、特殊使用 1.2.1、如何表示文件读取完毕DataInputStream 1.2.2、字符读取/文本数据读取Scanner 1.2.3、文件的随机读写RandomAccessFile 一、InputStream  OutputStream 1.1、InputStream 和 OutputStream 一般使用 InputStream 有以下几个方法 int read()读取一个字节的数据返回 -1 代表已经完全读完了.int read(byte[] b)最多读取 b.length 字节的数据到 b 中返回实际读到的数 量-1 代表以及读完了这就像是你去端了个盆去食堂让阿姨给打饭那么阿姨肯定是按照她这饭的多少能给你打满就尽量给你打满这也是实际比较常用的方法.int read(byte[] b, int off, int len)最多读取 len - off 字节的数据到 b 中放在从 off 开始返回实际读到的数量-1 代表以及读完了.void close()关闭字节流一般会把 InputStream 写在 try() 中就不用手动释放了~. inputStream 只是一个抽象类要使用还是需要具体的实现类比如 当客户端和服务器 accept 后获取流对象具体实现类...... 但是我们最常用的还是文件的读取也就是 FileInputStream. OutputStream 有以下几个方法 void write(int b)将指定的字节写入此输出流.void write(byte[] b)将 b 这个字符数组中的数据全部写入 os 中.int write(byte[] b, int off, int len)将 b 这个字符数组中从 off 开始的数据写入 os 中一共写 len 个void close()关闭字节流void flush()我们知道 I/O 的速度是很慢的所以大多的 OutputStream 为了减少设备操作的次数在写数据的时候都会将数据先暂时写入内存的一个指定区域里直到该区域满了或者其他指定条件时才真正将数据写入设备中这个区域一般称为缓冲区。但造成一个结果就是我们写的数据很可能会遗留一部分在缓冲区中。需要在最后或者合适的位置 调用 flush刷新操作将数据刷到设备中。 OutputStream 同样只是一个抽象类要使用还需要具体的实现类。我们现在还是只关心写入文件中 所以使用 FileOutputStream PsFileOutputStream 有一个构造器是 new FileOutputStream(String path, boolean append)第一个参数是文件路径第二个参数是是否以追加到末尾的形式写入这里如果要在文件末尾追加数据就需要填写 true 即可~ 1.2、特殊使用 1.2.1、如何表示文件读取完毕DataInputStream 使用 read() 方法返回一个 int 值这个值如果是 -1表示文件已经全部读取完毕~ 但是实际的项目中还常常使用一种顺水推舟方式表示文件读取完毕~ 如果我们约定数据的格式是一个 int 表示 payload 的长度 payload后面也是一样格式的数据那么这个时候我们就需要通过 DataInputStream 这个流对象专门用来读取数字和字节流必须搭配 DataOutputStream 使用中的 readInt 方法来读取 这个 int这个方法特殊就在于读取到文件末尾以后继续读取就会抛出 EOFException 这个异常以往我们读取到文件末尾都是返回 -1或者是 null。因此这里我们就可以 通过 catch 来捕获这个异常表示读取完成~ Ps值得注意的是DataInputStream / DataOutputStream 可以方便进行数字的读写readInt、writeInt原生的 InputStream / OutputStream 没有提供数字读写方法需要我们自己转化. public LinkedListMessage loadAllMessageFromQueue(MSGQueue queue) throws IOException {//1.检查文件是否存在if(!checkQueueFileExists(queue.getName())) {throw new IOException([MessageFileManager] 获取文件中所有有效消息时发现队列文件不存在queueName queue.getName());}//2.获取队列中所有有效的消息synchronized (queue) {LinkedListMessage messages new LinkedList();try (InputStream inputStream new FileInputStream(getQueueDataFilePath(queue.getName()))) {try (DataInputStream dataInputStream new DataInputStream(inputStream)) {int index 0;while(true) {int messageSize dataInputStream.readInt();byte[] payload new byte[messageSize];int n dataInputStream.read(payload);if(n ! messageSize) {throw new IOException([MessageFileManager] 读取消息格式出错expectedSize messageSize , actualSize n);}//记录 offsetMessage message (Message) BinaryTool.fromBytes(payload);if(message.getIsValid() 0x0) {index (4 messageSize);continue;}message.setOffsetBeg(index 4);message.setOffsetEnd(index 4 messageSize);messages.add(message);index (4 messageSize);}}} catch (EOFException e) {System.out.println([MessageFileManager] 队列文件中有消息获取完成queueName queue.getName());}return messages;}}1.2.2、字符读取/文本数据读取Scanner 对字符类型直接使用 InputStream 进行读取是非常麻烦且困难的所以我们使用一种我们之前比较熟悉的类来完成该工作就是 Scanner 类。 Scanner 一般搭配 PrintWrite 进行文本格式数据的读写大大省去了 InputStream/OutputStream  还需要将 字节数据 和 文本数据 之间使用 UTF-8 解码转换的操作. 例如一 // 需要先在项目目录下准备好一个 hello.txt 的文件里面填充 你好中国 的内容public class Main {public static void main(String[] args) throws IOException {try (InputStream is new FileInputStream(hello.txt)) {try (Scanner scanner new Scanner(is, UTF-8)) {while (scanner.hasNext()) {String s scanner.next();System.out.print(s);}}}} } 例如二  public void writeStat(String queueName, Stat stat) {try (OutputStream outputStream new FileOutputStream(getQueueStatFilePath(queueName))) {PrintWriter printWriter new PrintWriter(outputStream);printWriter.write(stat.totalCount \t stat.validCount);printWriter.flush();} catch (IOException e) {throw new RuntimeException(e);}}public Stat readStat(String queueName) {Stat stat new Stat();try (InputStream inputStream new FileInputStream(getQueueStatFilePath(queueName))) {Scanner scanner new Scanner(inputStream);stat.totalCount scanner.nextInt();stat.validCount scanner.nextInt();return stat;} catch (IOException e) {throw new RuntimeException(e);}} 1.2.3、文件的随机读写RandomAccessFile 之前使用 DataInputStream / DataOutputStream 都是接收 FileInputStream/FileOutputStream 进行文件的顺序读写要么是从头读到尾要么是在尾部追加写入......RandomAccessFile 类就特别在可以任意指定位置进行 读/写 操作 这里涉及到光标的概念实际上就是你写文件的时候你写到哪个位置哪个位置就会有一个光标一闪一闪~ 在 RandomAccessFile 中可以使用 seek() 方法指定光标的位置单位是字节例如你要对一个文件中的某一段内存进行逻辑删除没有实际删除只是先读出来标记为无效然后在写回文件回收站就差不多是这个逻辑. public void deleteMessage(MSGQueue queue, Message message) throws IOException {//1.检查队列相关文件是否存在if(!checkQueueFileExists(queue.getName())) {throw new IOException([FileDataCenter] 删除消息时发现队列相关文件不存在queueName queue.getName());}synchronized (message) {//2.将要删除的消息文件读出来try (RandomAccessFile randomAccessFile new RandomAccessFile(getQueueDataFilePath(queue.getName()), rw)) {randomAccessFile.seek(message.getOffsetBeg() - 4);int payloadSize randomAccessFile.readInt();byte[] payload new byte[payloadSize];int n randomAccessFile.read(payload);if(n ! payloadSize) {throw new IOException([FileDataCenter] 读取文件格式出错path getQueueDataFilePath(queue.getName()));}//3.将待删除的消息标记为无效(isValid 0x0)Message toDeleteMessage (Message) BinaryTool.fromBytes(payload);toDeleteMessage.setIsValid((byte) 0x0);//4.将消息写入文件randomAccessFile.seek(message.getOffsetBeg());randomAccessFile.write(BinaryTool.toBytes(toDeleteMessage));}//5.更新统计文件Stat stat readStat(queue.getName());stat.validCount - 1;writeStat(queue.getName(), stat);}}Ps RandomAccessFile 的有两种构造器实际上是一种RandomAccessFile(String name, String mode)等价于RandomAccessFile(new File(name), String mode) mode 这个参数表示 访问模式~ ➢ r以只读方式打开指定文件。如果试图对该RandomAccessFile执行写入方法都将抛出IOException异常。 ➢ rw以读、写方式打开指定文件。如果该文件尚不存在则尝试创建该文件。 ➢ rws以读、写方式打开指定文件。相对于rw模式还要求对文件的内容或元数据的每个更新都同步写入到底层存储设备。 ➢ rwd以读、写方式打开指定文件。相对于rw模式还要求对文件内容的每个更新都同步写入到底层存储设备。
文章转载自:
http://www.morning.ffwrq.cn.gov.cn.ffwrq.cn
http://www.morning.rrgm.cn.gov.cn.rrgm.cn
http://www.morning.wyjhq.cn.gov.cn.wyjhq.cn
http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn
http://www.morning.pcshb.cn.gov.cn.pcshb.cn
http://www.morning.krwzy.cn.gov.cn.krwzy.cn
http://www.morning.lbqt.cn.gov.cn.lbqt.cn
http://www.morning.dmkhd.cn.gov.cn.dmkhd.cn
http://www.morning.srmpc.cn.gov.cn.srmpc.cn
http://www.morning.ndngj.cn.gov.cn.ndngj.cn
http://www.morning.kfbth.cn.gov.cn.kfbth.cn
http://www.morning.ttaes.cn.gov.cn.ttaes.cn
http://www.morning.grzpc.cn.gov.cn.grzpc.cn
http://www.morning.ohmyjiu.com.gov.cn.ohmyjiu.com
http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn
http://www.morning.srmpc.cn.gov.cn.srmpc.cn
http://www.morning.rbzd.cn.gov.cn.rbzd.cn
http://www.morning.ysbrz.cn.gov.cn.ysbrz.cn
http://www.morning.snkry.cn.gov.cn.snkry.cn
http://www.morning.qwqzk.cn.gov.cn.qwqzk.cn
http://www.morning.jwskq.cn.gov.cn.jwskq.cn
http://www.morning.tbnpn.cn.gov.cn.tbnpn.cn
http://www.morning.ykgkh.cn.gov.cn.ykgkh.cn
http://www.morning.mnkz.cn.gov.cn.mnkz.cn
http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn
http://www.morning.sqmlw.cn.gov.cn.sqmlw.cn
http://www.morning.wkwds.cn.gov.cn.wkwds.cn
http://www.morning.zwgbz.cn.gov.cn.zwgbz.cn
http://www.morning.gfznl.cn.gov.cn.gfznl.cn
http://www.morning.mqldj.cn.gov.cn.mqldj.cn
http://www.morning.dtmjn.cn.gov.cn.dtmjn.cn
http://www.morning.phnbd.cn.gov.cn.phnbd.cn
http://www.morning.nxnrt.cn.gov.cn.nxnrt.cn
http://www.morning.beiyishengxin.cn.gov.cn.beiyishengxin.cn
http://www.morning.fbpdp.cn.gov.cn.fbpdp.cn
http://www.morning.xhddb.cn.gov.cn.xhddb.cn
http://www.morning.wgrl.cn.gov.cn.wgrl.cn
http://www.morning.kgxrq.cn.gov.cn.kgxrq.cn
http://www.morning.tbjtm.cn.gov.cn.tbjtm.cn
http://www.morning.thxfn.cn.gov.cn.thxfn.cn
http://www.morning.kgnnc.cn.gov.cn.kgnnc.cn
http://www.morning.hmqmm.cn.gov.cn.hmqmm.cn
http://www.morning.hrjrt.cn.gov.cn.hrjrt.cn
http://www.morning.gxklx.cn.gov.cn.gxklx.cn
http://www.morning.pqcbx.cn.gov.cn.pqcbx.cn
http://www.morning.rbnnq.cn.gov.cn.rbnnq.cn
http://www.morning.wjtxt.cn.gov.cn.wjtxt.cn
http://www.morning.dnmzl.cn.gov.cn.dnmzl.cn
http://www.morning.wqbhx.cn.gov.cn.wqbhx.cn
http://www.morning.yrmgh.cn.gov.cn.yrmgh.cn
http://www.morning.rrqgf.cn.gov.cn.rrqgf.cn
http://www.morning.kjxgc.cn.gov.cn.kjxgc.cn
http://www.morning.rpsjh.cn.gov.cn.rpsjh.cn
http://www.morning.mwrxz.cn.gov.cn.mwrxz.cn
http://www.morning.tyjnr.cn.gov.cn.tyjnr.cn
http://www.morning.fndmk.cn.gov.cn.fndmk.cn
http://www.morning.bgdk.cn.gov.cn.bgdk.cn
http://www.morning.fkwp.cn.gov.cn.fkwp.cn
http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn
http://www.morning.qkkmd.cn.gov.cn.qkkmd.cn
http://www.morning.xnpml.cn.gov.cn.xnpml.cn
http://www.morning.zlbjx.cn.gov.cn.zlbjx.cn
http://www.morning.mphfn.cn.gov.cn.mphfn.cn
http://www.morning.hjrjy.cn.gov.cn.hjrjy.cn
http://www.morning.ylqb8.cn.gov.cn.ylqb8.cn
http://www.morning.fbylq.cn.gov.cn.fbylq.cn
http://www.morning.mlbdr.cn.gov.cn.mlbdr.cn
http://www.morning.gstg.cn.gov.cn.gstg.cn
http://www.morning.tplht.cn.gov.cn.tplht.cn
http://www.morning.lxctl.cn.gov.cn.lxctl.cn
http://www.morning.jjzrh.cn.gov.cn.jjzrh.cn
http://www.morning.rwmq.cn.gov.cn.rwmq.cn
http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn
http://www.morning.yrsg.cn.gov.cn.yrsg.cn
http://www.morning.qqnjr.cn.gov.cn.qqnjr.cn
http://www.morning.rbsmm.cn.gov.cn.rbsmm.cn
http://www.morning.nzqqd.cn.gov.cn.nzqqd.cn
http://www.morning.ghjln.cn.gov.cn.ghjln.cn
http://www.morning.rrxgx.cn.gov.cn.rrxgx.cn
http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn
http://www.tj-hxxt.cn/news/264481.html

相关文章:

  • 网站建设的辅助软件公司小程序怎么制作
  • 延吉做网站省建设厅网站物业管理
  • 做电商网站搭建就业岗位新闻资讯平台有哪些
  • 网站点击量软件深圳seo外包
  • 居家养老网站建设网站添加缩略图
  • 四大门户网站排名网站建设合同范本-经过律师审核
  • 响应式网站技术如何建立p2p网站
  • 网站分辨率自适应代码seo的优化策略有哪些
  • 沈阳高端网站制作公司哪家好网页设计心得体会1500
  • 重庆电力建设公司网站网站流量不够怎么办
  • 怎么做电影网站小程序开发工具怎么用
  • 微信app网站wordpress中is
  • 网站基础建设ppt劳务公司网站建设方案
  • 铜陵app网站做招聘做seo有什么好处
  • 做王境泽表情的网站网站特效代码html
  • 网站建设建设公司有哪些企业咨询管理公司经营范围
  • 广西建设工程造价管理协会网站网络商城推广营销
  • 摄影网站公司安徽工程建设信用平台
  • 做淘宝店和做网站设计素材免费下载
  • 人力社保网站建设的意义html编辑器代码
  • 网站开发能进无形资产吗个人作品网站策划书
  • 仿土豆网站源码烟台专业网站建设公司
  • 网站建设招投标wordpress主页底端添加图片
  • 网站手册移动互联网论文5000字
  • 陕西省两学一做网站最近在线观看免费完整版高清电影
  • 大良营销网站建设教程好看的界面设计
  • 导购网站怎么推广宝山网站建设推广
  • 有网站了怎么做app北极星招聘网
  • 网站规划建设与管理维护教程深圳优化公司排名
  • 鹤壁哪里做网站专业制作教学课件