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

深圳网站建设_请到中投网络!广东官网网站建设平台

深圳网站建设_请到中投网络!,广东官网网站建设平台,php网站开发外文文献,顺德网站建设7starry一.文件1.定义文件一般指的是存储在硬盘上的普通文件形如:txt.jpg.mp4,rar等这些文件在计算机中,文件可能是一个广义的概念,不仅可以包含普通文件,还可以包含目录(也就是文件夹.把目录称为目录文件)在操作系统中,还会用文件来描述一些其他的硬件设备或者软件资源比如网卡,显示器…一.文件1.定义文件一般指的是存储在硬盘上的普通文件形如:txt.jpg.mp4,rar等这些文件在计算机中,文件可能是一个广义的概念,不仅可以包含普通文件,还可以包含目录(也就是文件夹.把目录称为目录文件)在操作系统中,还会用文件来描述一些其他的硬件设备或者软件资源比如网卡,显示器,键盘,操作系统都把这些设备视为文件2.硬盘普通文件是保存在硬盘上硬盘的基本构造1.盘片,存储数据的介质2,磁头机械硬盘一般插上电,里面的盘片就会高速运转,磁头就在盘片上找到对应的额数据受限于机械硬盘结构:盘片转速越高,读写速度也就越快.机械硬盘往大容量的方向发展3.文件的分类1.文本文件-存储的是字符-文本文件本质上也是存字节但是在文本文件中,相邻的字节在一起正好能构成一个个字符2.二进制文件-存储的是字节-相邻的字节和字节之间没有关系判断一个文件是文本还是二进制,用记事本打开,打开是乱码 就是二进制,不是就是文本.txt .c .java都属于文本文件.doc ,ppt .exe .zip .class 都属于二进制文件4,目录结构计算机中爆粗能管理文件,是通过操作系统中的文件系统这样的模块来负责的文件系统中.一般是通过树形结构来组织磁盘的目录和文件就是数据结构中的N叉树整体的文件系统.就是这样的树形结构如果是一个普通文件,就是树的叶子结点如果是一个目录文件目录中就可以包含子树,这个目录就是飞叶子节点5.路径操作系统中,路径表示一个具体文件/目录的位置1.绝对路径,以盘符开头的2.相对路径:以 . 开头(.表示当前路径)或者以..开头的(表示当前路径的父目录,也就是上级路径)如果是相对路径,必须要现有一个基准目录相对路径就是从基准目录出发,按照一个什么样的路径找到的额对应文件二,操作文件1.文件系统相关的操作通过文件资源管理器能够完成的一些功能在Java中提供一个File类,通过这个类来完成上述的操作首先这个File类就描述了一个文件/目录基于这个对象可以实现上面的功能1.1FIle类File的构造方法,能够传入一个路径,来指定文件,可以是绝对路径也可以是相对路径1.2基准路径基准路径是由运行的这个java程序确定1)如果是通过命令行的形式,此时执行命令所在目录就是基准路径2) 如果是通过IDEA的方式运行程序那么基准路径就是java项目所在的路径3)将一个java代码达成war包.放到tomcat上运行,这种情况下,基准路径就是tomcat的bin目录1.3路径之间的分隔符1.4创建目录mkdir 创建一级目录mkdirs创建多级2.流stream :流2.1 FileInputStreamread提供了三个版本得重载1)无参数版本:一次读一个字节.返回值是读到的这个字节如果返回的是byte,本身就是-128-127当读出了一个-1的时候,到底是读到文件末尾,还是说正好有个字节就是-1这个值(0xff)为了表示这个非法状态,就约定了-1来表示,因此就需要使用一个比byte更大的范围short或者int都行-short运算的时会自动转成int public static void main(String[] args) {try {FileInputStream fileInputStreamnew FileInputStream(./sun.txt);while(true){int afileInputStream.read();if(a-1){break;}System.out.println(a);}} catch (IOException e) {e.printStackTrace();}}这样还不够,需要关闭文件这样太啰嗦了java中提供一个语法.try with resource这个代码中没有显示调用close.但是try会自动帮我们调用2)一个参数版本:一次读若干个字节,把读的结果放到参数指定的数组中,返回值就是读到的字节数3)三个参数版本:一次读若干个字节,把读的结果,放到参数指定的数组中,返回值就是读到的字节数 不是从数组的起始位置放.从off下标这个位置,len表示最多能放多少个字节 public static void main(String[] args) {try {FileInputStream fileInputStreamnew FileInputStream(./sun.txt);while(true){int afileInputStream.read();if(a-1){break;}System.out.println(a);}} catch (IOException e) {e.printStackTrace();}}2.2fileOutputStream不自动清空的话就设置为trye3.删除文件扫描指定目录,并找到名称中包含指定字符的所有普通文件,(不包含目录).后续询问用户是否要删除文件要求:用户输入一个目录,再输入一个要删除的文件名文件系统上的目录是一个树形结构二叉树的遍历就是:先序,中序,后序,层序N叉树也是同样的道理思路:先输入目录,判断目录是否存在,构建一个查找函数然后再遍历,如果不是文件就递归直到找到删除文件名,然后构造一个删除函数,询问用户并删除这里注意,判断递归结束条件的时候不能错误的以传过来的scanFilepublic static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println(请输入你要扫描的路径);String scanDIrsc.next();System.out.println(请输入你要删除的文件名);String toDeleteFilesc.next();File scanFilenew File(scanDIr);if(!scanFile.isDirectory()){System.out.println(非法路径);return;}scaAndDelFile(scanFile,toDeleteFile); }private static void scaAndDelFile(File scanFile, String toDeleteFile) {//1.先列出scanFile有哪些内容File[] filesscanFile.listFiles();if(filesnull){return;//不能对传过来的scan进行判断,因为他既然能传过来就说明不是空的,只有可能他有这个容器但是他下面的东西是空的,}//2.分别列出来然后遍历for (File f:files){if(f.isFile()){if(f.getName().contains(toDeleteFile)){deleteFile(f);}}if (f.isDirectory()){scaAndDelFile(f,toDeleteFile);}} }private static void deleteFile(File scanFile) {System.out.println(确定要删除吗(Y/y));Scanner scannernew Scanner(System.in);String strscanner.nextLine();if(str.equals(Y)||str.equals(y)){scanFile.delete();System.out.println(删除成功);}else{System.out.println(删除取消);return;} }4.复制文件需要让用户指定两个文件路径,一个是原路径,一个是目标路径 打开源文件的文件,读取里面的内容,并写入到目标文件扫描指定目录,并找到名称或者内容中包含指定字符的所有普通文件 public static void main(String[] args) {// 1. 输入两个路径Scanner scanner new Scanner(System.in);System.out.println(请输入要拷贝的源路径: );String src scanner.next();System.out.println(请输入要拷贝的目标路径: );String dest scanner.next();File srcFile new File(src);if (!srcFile.isFile()) {System.out.println(输入的源路径不正确!);return;}// 此处不太需要检查目标文件是否存在. OutputStream 写文件的时候能够自动创建不存在的文件.// 2. 读取源文件, 拷贝到目标文件中try (InputStream inputStream new FileInputStream(src)) {try (OutputStream outputStream new FileOutputStream(dest)) {// 把 inputStream 中的数据读出来, 写入到 outputStream 中byte[] buffer new byte[1024];while (true) {int len inputStream.read(buffer);if (len -1) {// 读取完毕break;}// 写入的时候, 不能把整个 buffer 都写进去. 毕竟 buffer 可能是只有一部分才是有效数据.outputStream.write(buffer, 0, len);}}} catch (IOException e) {e.printStackTrace();}} }更高效的全文检索-倒排索引的结构5..flush-刷新缓冲区缓冲区存在的意义就是为了提高效率CPU读取内存的速度远远高于硬盘例如①需要写数据到硬盘上,与其一次写一点,分多次,还不如把数据攒一起,统一写,这一堆待写的数据就是在内存中保存的,这块内存就叫缓冲区②读操作也是类似,与其一次读一点,分多次多,不如一次性读一堆数据,然后再慢慢消化③:写数据的时候需要把数据写到缓冲区,然后再统一写到硬盘上如果当前缓冲区已经写满了,直接触发写硬盘操作如果当前缓冲区没满,也想提前写硬盘,就可以通过flush手动刷新缓冲区close操作也会触发缓冲区刷新
http://www.hkea.cn/news/14568977/

相关文章:

  • 网站友链查询源码在建设部网站
  • 好的html5网站大连谷歌seo
  • 2手房产App网站开发郑州企业网站排名优化哪家好
  • 网站开发交付策划营销公司企业介绍
  • ssh实训做网站代码下载淘宝网站开发语言
  • 怎样做网站啊常州企业网站建站模板
  • 用别人备案域名做违法网站集图网
  • 网站建设合同 模板网络营销导向的企业网站建设的要求
  • 怎么给自己的网站做排名WordPress跨机房同步
  • 大连科技网站制作网站建设参考文献资料
  • 举措推进网站互动交流建设福州建设银行招聘网站
  • 广东网站se0优化公司网站 标题 字体
  • 制作网站找哪家好网站开发语言有php
  • 安阳同城网济南网站建设yigeseo
  • 龙武工会网站怎么做东营市
  • 网站开发需要什么文凭做一个自己的网站多少钱
  • 青岛做网站的 上市公司网络科技公司名称大全简单大气
  • 搜狗站长平台验证不了wordpress如何采集
  • 自助个人网站注册建网站报价表
  • 怎么计算网站开发费用江苏交通运输厅网站建设
  • 济南市历下区建设局官方网站要想浏览国外网站 应该怎么做
  • 电商网站开发公司杭州哪家建站公司好
  • 网站开发项目流程书做运营常用的网站
  • 铁道部建设监理协会网站最近最新手机中文大全10
  • 让别人做网站如何防止后门网页美工设计需要学什么
  • 2019建设摩托官方网站微网站 前景
  • 广州市网站建站商标注册网址
  • 做仿牌网站被封网站换空间 怎么下载
  • 宁波网站建设哪里便宜长春网站推广方式
  • 基于响应式设计的网站建设有ip怎么用自己的主机做网站