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

网络工程师岗位googleseo优化

网络工程师岗位,googleseo优化,手机房产网站模板,网站建设程序结构文章目录 1.文件初识2.java针对于文件的操作2.1文件系统的操作---file类2.2文件内容的操作---流对象的分类2.4字符流的操作》文本文件2.4.1异常的说明2.4.2第一种文件内容的读取方式2.4.3第二种读取方式2.4.4close的方法的介绍2.4.5close的使用优化操作2.4.6内容的写入 2.3字节… 文章目录 1.文件初识2.java针对于文件的操作2.1文件系统的操作---file类2.2文件内容的操作---流对象的分类2.4字符流的操作》文本文件2.4.1异常的说明2.4.2第一种文件内容的读取方式2.4.3第二种读取方式2.4.4close的方法的介绍2.4.5close的使用优化操作2.4.6内容的写入 2.3字节流的操作》二进制文件2.4一些其他的读取方式2.5字节流字符流转换 3.练习程序扫描指定的目录 1.文件初识 我们通常情况下说的这个文件指的是这个硬盘数据的一个载体就是硬盘里面的数据 机械硬盘擅长顺序读写 固态硬盘里面是集成度很高的芯片效率比机械硬盘高很多 我们还需要了解诸如这个路径绝对路径相对录得等相关的知识 2.java针对于文件的操作 2.1文件系统的操作—file类 pathSeparator----文件的路径的分隔符号 在我们的这个windows上面其实无论是正斜杠还是反斜杠这个都是可以作为我们的路径分隔符的 File对象表示的就是这个硬盘上面的文件在进行这个对象的构造的时候需要把这个文件的路径作为参数进行指定 下面的这个展示的就是我们的这个新创建的这个对象里面的这个对应的可以使用的一些方法 getpath就是获取这个文件的路径 getname就是获取这个文件的名字 getcanonicalpath就是对于这个绝对的路径进行简化 getparent就是获取这个文件的父目录也就是这个文件的上一层目录结构 上面的这个案例可能还看不出来这个getcanonicalPath方法和这个getpath的区别好像就是把这个盘符的小写变成了大写的下面的这个例子其实也是为了让我们明白两者的区别这个getCanonicalPath实际上是针对于这个绝对的路径进行了简化 因为我们可以看到这个绝对路径和我们的这个最后一个方法的打印结果相比就是对了一个.,但是这个.的存在其实是可有可无的因此可以理解为这个getCanonical方法就是对于这个绝对路径获取结果的一个简化的操作 查看这个文件是不是存在的 查看这个文件是不是一个目录结构 查看这个是不是一个文件 如果上面查看的这个文件是不存在的买这个时候我们就可以使用这个create的方法去创建一个新的文件然后再次去检查这个时候这个文件就是存在的 下面的这个是针对于文件的删除的操作delete就是立即删除onexit就是等待这个进程结束之后再删除 就是这个我们日常使用的这个office进行这个文档的撰写或者是这个ppt,word之类的这个制作的时候我们的这个对应的文档的存放的位置实际上会产生一个临时文件的这个文件的原理就是为了防止突然的断电导致这个文件内容的丢失但是因为现在的这个笔记本都是电池因此这个在我们的这个笔记本上面显示不出来效果 但是我们打开这个隐藏文件的选项实际上是可以看到这个隐藏的文件的 下面的这个是使用的这个list方法查看这个目录下面的这个所有的文件内容返回值是一个字符串的数组我们如果直接打印打印的结果是哈希值需要使用这个toString方法对于这个进行转换之后打印输出 创建目录的方法我们可以使用这个mkdir创建指定的这个目录我们也可以使用这个mkdirs创建多个层级结构的目录 2.2文件内容的操作—流对象的分类 字符流对应的文件是我们的文本文件本质上是针对于这个字节流进行了封装字符流实际上就是把这个文本文件里面的这个相邻的字节转换为一个字符 字节流对应的文件是我们的二进制文件 2.4字符流的操作》文本文件 这个字符流主要是针对于这个文本文件这个里面主要就是了解这个reader和writer两个类创建的这个对象里面可以进行调用的方法 2.4.1异常的说明 下面的这个首先是想要对于这个对象的创建过程中出现的异常进行说明就是我们的这个reader实际上是一个抽象类因此我们使用这个类去创建对象的时候是不可以直接new对象的因此我们使用这个new FileReader的方法去创建这个对应的对象但是这个对象的创建过程中会抛出异常就是下面的这个第一张图片里面出现的这个filenotfoundexception的异常 但是我们使用这个对象的方法去调用这个read方法从这个文件里面读取数据内容的时候这个方法调用的时候也是会抛出来异常的这个就是我们的IOexception就是输入输出异常 这个时候我们的这个异常的抛出之后就会把之前的这个filenotfound的这个异常给改掉其实这个是没有任何的影响的这个主要就是因为我们的这个异常是上一次抛出的这个异常的父类两者之间是有这个类的继承关系的 2.4.2第一种文件内容的读取方式 下面的这个就是我们使用我们创建的reader进行这个文件的内容的读取为什么这个reader的方法的这个返回值是这个int类型的数据这个主要是编码和其他的一些原因 java的这个字符流里面其实使用的是这个unicode编码的方式这个编码方式的编码的范围就是0~65535大小而一个char类型的字符正好是65535的大小可以容纳这个unicode的编码值但是我们使用这个int类型这个更宽的字符进行处理的时候我们使用这个-1进行这个特殊情况的表示—就是我们的这个读取的过程结束了因此这个使用int作为我们的这个方法的返回值也是出于这个特殊值的一个考量 我们使用这个while进行控制这个n记录的就是我们的这个读取的字符的个数当我们读取到这个文件的末尾的时候这个读取的过程就会结束然后把我们的读取的内容每一次读取之后都需要进行输出的操作 2.4.3第二种读取方式 其实说成是这个第二种读取方式也不是很合适就是这个方法里面多加了参数也就是我们的这个字符数组我们把这个读取的内容存放到这个字符数组里面去然后就可以最后对于这个字符数组进行循环遍历然后把我们的这个字符数组里面的这个内容进行打印输出 这个还是使用这个-1进行控制控制我们的这个程序的结束也就是这个时候已经读取到了这个文件内容的末尾 2.4.4close的方法的介绍 这个close其实就是释放资源这个是最直观的理解这个具体是什么资源其实就是我们的这个pcb里面的这个文件描述符表 我们之前介绍过这个每一个进程都是用这个PCB内核和我们的代码程序而且这个进程是系统文件资源分配的基本单位 文件描述符表实际上是一个顺序表数组–但是这个数组的长度是有限的我们每一次打开一个文件进行读取这个表就会被分配一个数据元素但是这个表的长度有限当这个表全部被填满的时候就会出现意想不到的情况但是这个情况的发生实际上不是我们可以预想到的因为这个实际上就是需要一定的过程对于这个文件描述符表进行填充的因此我们使用完成或者是读取结束的时候需要关闭这个系统的文件的资源防止出现上面的这个文件描述符表被填满的情况 结合上面的这个解释其实这个close就是对于这个文件描述符表进行释放的 下面的这个就是我们在这个文件资源的读取结束的时候加上这个reader.close方法对于这个系统的资源进行关闭释放我们的这个进程占据的这个文件描述符表里面的这个资源 2.4.5close的使用优化操作 上面的这个方法固然可以解决问题但是这个方法还是存在问题的我们需要对于上面的这个写法进行优化 因为我们上面的这个对于文件里面的内容进行读取的时候肯呢个会抛出异常这个时候一旦抛出这个进程就会被终止因此这个时候就会退出程序不会执行到我们下面的这个close方法的地方 因此我们可以使用这个try-finally语句把这个异常抛出之后还会执行到这个close方法的地方因为我们的这个fanally里面的这个代码块的内容是一定会被执行的; 上面的这个方式不够优雅我们还是可以继续进行优化操作的 下面的这个try语句里面的这个写法就是有这个对象的创建这个写法就是try with resource语法这个好处就是我们的这个try里面的这个语句块的内容执行完毕的时候这个就会自动进行这个close的操作 但是上面的这个写法的要求就是我们的这个try后面的这个括号里面的这个参数就是需要实现我们的这个closeable接口我们可以向底层追可以看到这个Reader就是实现了这个closeable接口的 2.4.6内容的写入 下面的这个创建的writer就是负责向我们指定这个文件里面去写入数据内容写入到我们的这个指定的文件里面去这个过程中需要进行异常的处理 我们的这个write方法写入的时候会把之前的内容覆盖掉因此我们可以加上这个true参数让这个写入的内容从文件的末尾开始书写 下面的这个实际上就是在这个构造方法里面添加新的参数这样就是进行的追加操作而不会覆盖我们的文件里面已经存在的内容 2.3字节流的操作》二进制文件 对于这个字节流里面的这个数据的读取我们的这个方法的参数是一个byte类型的数组因此我们需要首先对于这个byte类型的数组进行创建 下面的这个和上面的字符流的读取其实没有很大的区别还是创建字符流对象因为这个inputstream.read调用方法这个这个参数是bute类型的数组因此我们时候选需要创建符合类型的这个数组 把这个读取的内容放到这个buffer数组里面去然后进行打印出来这个地方是使用的16进制的形式进行的打印输出 上面的这个是把这个文件里面的这个内容进行读取下面的这个是OutputStream就是对于这个文件写入内容我们使用的是这个write方法但是可以看到这个方法的参数是int或者是这个byte类型的数组因此我们无法直接把这个str字符串进行输出而是需要进行类型的转换 2.4一些其他的读取方式 这个里面的就是我们非常熟悉的scanner类和对象的相关的操作 我们之前使用的这个scanner类创建的对象用来在这个屏幕上面进行输入这个参数是这个system.in,这个参数其实就是我们的InputerStream这个类里面的 下面的这个就是使用的这个scanner只不过把这个参数换成我们自己创建的这个inputStream对象这个时候我们的这个scanner就是从文件里面进行读取而不是从这个输入框里面进行读取 这个里面也是可以使用这个next方法对于这个文件后续的内容进行读取的 2.5字节流字符流转换 下面的这个就是通过这个PrintStream这个类进行我们的字节流字符流之间的相互转换然后向这个文件里面写入数据这个可能会出现写入的内容积攒在这个缓冲区上面因此我们需要进行写入之后使用这个flush方法进行刷新这样我们才可以在我们的这个文件里面看到我们写入的内容 3.练习程序扫描指定的目录 制定扫描的目录找到这个名称里面包含指定字符的文件询问用户是否需要进行删除这个文件 分析其实就是让用户输入一个路径我们对于这个路径里面的所有的文件一层一层的进行遍历然后输入这个字符串看看遍历的过程中这个路径对应的这个文件是不是包含我们的字符串询问用户是不是进行删除 1.列举目录下面的内容 2.判断这个文件的类型 3.确定是否进行删除 4.scanDir用于对于这个指定的路径进行扫描这个路径必须要是一个目录这个时候我们需要进行判断 5.checkDelete方法是查看这个文件的名称里面有没有我们的这个指定的字符串 package demo12;import java.io.File; import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner scannernew Scanner(System.in);System.out.println(请输入想要扫描的路径);String pathscanner.next();File rootPath new File(path);//下面的这个是对于用户可能输入的异常的方法进行判断的if(!rootPath.isDirectory()){System.out.println(你输入的这个路径不正确);return;}System.out.println(请输入你想要查询的关键词);String word scanner.next();scanDir(rootPath,word);} SuppressWarnings({all})private static void scanDir(File rootPath,String word){//1.列举出来这个目录下面的所有内容File[] files rootPath.listFiles();if(filesnull){return;}//下面的这个是使用的增强for的方法进行遍历的for(File f:files){System.out.println(当前扫描的这个文件就是f.getAbsolutePath());if(f.isFile()){//查看这个目录名称上面是不是我们的这个单词封装一个新的方法checkDelete(f,word);}else{//下面的这个实际上就是针对于我们的这个遍历的每一个元素// 再次调用这个方法去进行判断//这个其实就是一个不断的递归的过程scanDir(f,word);}}} SuppressWarnings({all})private static void checkDelete(File f,String word){if(!f.getName().contains(word)){//前面加上了说明没有包含这个word我们直接返回即可return;}//打印日志当前的这个遍历到的文件的具体的路径System.out.println(当前的这个文件是f.getAbsolutePath()请确认是否需要删除);Scanner scanner new Scanner(System.in);String choice scanner.next();//这个说明用户是yes的即我们可以进行删除if(choice.equals(Y)||choice.equals(y)){f.delete();System.out.println(删除完毕);}//只要是用户输入的其他内容我们就不会进行删除else{System.out.println(取消删除);}} }
http://www.hkea.cn/news/14532930/

相关文章:

  • 做网站详细步骤苏州网站建设公司电话
  • 唯品会网站建设数据安全分析短网址在线生成短网址
  • 如何百度搜索到自己的网站山东网站建设网
  • 外贸工厂 网站建设夏邑好心情网站建设有限公司
  • 潮汕17网站一起做网店官网宜城市城乡建设局网站备案
  • 自己做网站需要收费吗wordpress只显示主题
  • wap网站引导页特效网站服务器主机配置
  • 常州网站推广软件信息门户网站的自身的特性
  • 备案的网站 能拿来做仿站吗公司内部网站页面设计
  • 免费的网站制作公司网站建设作用
  • 中国建设银行报名网站学做电影网站
  • 南京市住房城乡建设门户网站友点企业网站管理系统模板
  • 网站推广的常用方法有哪些微信小程序怎么做表格
  • 自己怎么建设收费电影网站汽车门户网站有哪些
  • 做网站设计用到的软件文字短链接生成器
  • 做微信公众号的网站吗济南营销网站建设公司
  • 专业网站建设教程电脑网页加速器
  • 求一个做门窗技术的网站wordpress导航链接
  • 关于网站建设费用wordpress5连接中文
  • 宁波高端网站开发app开发要多少钱
  • 网站空间在哪买好写作网站投稿赚钱
  • 类似淘宝的购物网站 建设网站开发要学多久
  • 怎么做网站报价表网站备案要关闭吗
  • 做ppt哪些网站的图片质量高环保网站建设说明书
  • 临沧网站搭建wordpress 阿里云 漏洞
  • 网站开发项目技能比赛获奖报道怎么开网店
  • 动效网站建设网站界面设计案例
  • 网站建设设计公司哪家好上海网站的优化公司哪家好
  • 建站不用域名直接用ip可以吗wordpress讨论群
  • 深圳个性化网站建设公司电话wordpress修改配置