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

资阳市网站建设一个页面多少钱

资阳市网站建设,一个页面多少钱,哪里去找做的好看的网站,php网站开发培训目录 一、文件1.1 文件的概念1.2 文件的操作1.3 路径1.4 文件分类 二、Java中的文件元信息、路径操作2.1 属性2.2 构造方法2.3 方法2.3.1 文件路径2.3.2 文件判断2.3.3 文件创建删除2.3.4 其他操作 三、文件读写操作3.1 流#xff08;Stream#xff09;3.1.1 字节流3.1.1.1 I… 目录 一、文件1.1 文件的概念1.2 文件的操作1.3 路径1.4 文件分类 二、Java中的文件元信息、路径操作2.1 属性2.2 构造方法2.3 方法2.3.1 文件路径2.3.2 文件判断2.3.3 文件创建删除2.3.4 其他操作 三、文件读写操作3.1 流Stream3.1.1 字节流3.1.1.1 InputStream3.1.1.2 OutputStream 3.1.2 字符流3.1.2.1 Reader3.1.2.2 Writer 3.2 字节流字符流转换 四、自定义快读类4.1 自定义快速读入4.2 自定义快速输出 一、文件 1.1 文件的概念 在操作系统中会将“硬盘设备”和“软件资源”都抽象成文件。 在生活中提到的文件大多指硬盘的文件像c盘里面的文件就是硬盘上的数据抽象而成的。 1.2 文件的操作 在计算机上文件是由操作系统提供的“文件系统”来组织管理的操作系统使用“目录”也就是常说的文件夹来管理文件的。目录是一种树形结构 1.3 路径 绝对路径就是以C盘D盘C: D:这种盘符开头的路径。如E:\植物大战僵尸。相对路径此时需要先指定一个基准目录然后看通过什么样的路径来到指定文件这个路径就是相对路径用点开头。此时用一个点表示当前目录两个点表示当前目录上一级目录。 举例 假如我们要找“E:\植物大战僵尸\pvzHE目录下的fonts文件。 如果我们当前在“E:\植物大战僵尸\pvzHE目录下直接使用“.\fonts”如果我们在“E:\植物大战僵尸”目录下使用“.\pvzHE\fonts”如果我们在E:\植物大战僵尸\pvzHE\新建文件夹目录下使用“…\fonts” 不同场景下的基准目录 在命令行操作当前目录就是基准目录。在idea操作项目目录就是基准目录。在图形化工具上就要看实际情况了。 1.4 文件分类 在编程角度上将文件分为两类 文本文件文件中保存的都是字符串保存的都是合法的字符合法的字符就是符合当前字符集编码的字符。二进制文件文件中保存的仅仅是二进制数据。 二、Java中的文件元信息、路径操作 Java 中通过 java.io.File 类来对一个文件包括目录进行抽象的描述。 2.1 属性 修饰符及类型属性说明static StringpathSeparator依赖于系统的路径分隔符String 类型的表示static charpathSeparator依赖于系统的路径分隔符char 类型的表示 2.2 构造方法 签名说明File(File parent, String child)根据父目录 孩子文件路径创建一个新的 File 实例File(String pathname)根据文件路径创建一个新的 File 实例路径可以是绝对路径或者相对路径File(String parent, String child)根据父目录 孩子文件路径创建一个新的 File 实例父目录用路径表示 2.3 方法 2.3.1 文件路径 修饰符及返回值类型方法签名说明StringgetParent()返回 File 对象的父目录文件路径StringgetName()返回 FIle 对象的纯文件名称StringgetPath()返回 File 对象的文件路径StringgetAbsolutePath()返回 File 对象的绝对路径StringgetCanonicalPath()返回 File 对象的修饰过的绝对路径 2.3.2 文件判断 修饰符及返回值类型方法签名说明booleanexists()判断 File 对象描述的文件是否真实存在booleanisDirectory()判断 File 对象代表的文件是否是一个目录booleanisFile()判断 File 对象代表的文件是否是一个普通文件booleancanRead()判断用户是否对文件有可读权限booleancanWrite()判断用户是否对文件有可写权限 2.3.3 文件创建删除 修饰符及返回值类型方法签名说明booleancreateNewFile()根据 File 对象自动创建一个空文件。成功创建后返回 truebooleandelete()根据 File 对象删除该文件。成功删除后返回 truevoiddeleteOnExit()根据 File 对象标注文件将被删除删除动作会到JVM 运行结束时才会进行 2.3.4 其他操作 修饰符及返回值类型方法签名说明String[ ]list()返回 File 对象代表的目录下的所有文件名File[ ]listFiles()返回 File 对象代表的目录下的所有文件以 File 对象表示booleanmkdir()创建 File 对象代表的目录booleanmkdirs()创建 File 对象代表的目录如果必要会创建中间目录booleanrenameTo(Filedest)进行文件改名也可以视为我们平时的剪切、粘贴操作 三、文件读写操作 在Java中对文件的读写操作使用流对象(stream) 3.1 流Stream 在标准库中提供的文件读写操作的类有很多但可以分为两类。 3.1.1 字节流 字节流对应着二进制文件每次读写的最小单位都是字节Byte。 字节流提供了两个父类InputStreamOutputStream来供继承。 3.1.1.1 InputStream InputStream在源码中是一个抽象类不能直接new对象。提供了一个子类FileInputStream。 类需要传文件路径如果文件没找到还会抛出FileNotFoundException异常。 方法简介 返回值方法签名说明intread()读取一个字节的数据返回 -1 代表已经完全读完了intread(byte[ ] b)最多读取 b.length 字节的数据到 b 中返回实际读到的数量-1 代表以及读完了intread(byte[ ] b, int off, int len)最多读取 len - off 字节的数据到 b 中放在从 off 开始返回实际读到的数量-1 代表以及读完了voidclose()关闭字节流 3.1.1.2 OutputStream 默认打开一个文件会先清空要继续写不清空在创建对象时传入true作为第二个参数。 OutputStream在源码中是一个抽象类不能直接new对象。提供了一个子类FileOutputStream。 类需要传文件路径如果文件没找到还会抛出FileNotFoundException异常。 方法 返回值方法签名说明voidwrite(int b)写入要给字节的数据voidwrite(byte[ ] b)将 b 这个字符数组中的数据全部写入 os 中intwrite(byte[ ] b, int off, int len)将 b 这个字符数组中从 off 开始的数据写入 os 中一共写 len 个voidclose()关闭字节流voidflush()重要我们知道 I/O 的速度是很慢的所以大多的 OutputStream 为了减少设备操作的次数在写数据的时候都会将数据先暂时写入内存的一个指定区域里直到该区域满了或者其他指定条件时才真正将数据写入设备中这个区域一般称为缓冲区。但造成一个结果就是我们写的数据很可能会遗留一部分在缓冲区中。需要在最后或者合适的位置调用 flush刷新操作将数据刷到设备中。 3.1.2 字符流 字符流对应着文本文件每次读写的最小单位是字符根据当前字符集来一个中文字符在utf8就是3字节GBK就是两字节。 字符流就相当于对字节流进行了一个封装自动帮我们把字节流中相邻几个字节转换成字符。 字符流提供了两个父类ReaderWriter来供继承。 3.1.2.1 Reader Reader在源码中是一个抽象类不能直接new对象。提供了一个子类FileReader。 FileReader类需要传文件路径如果文件没找到还会抛出FileNotFoundException异常。 Reader中读取字符常用是read方法都会抛出IOException异常介绍常用3种。 返回值分法签名说明intread()读取一个字符读取到返回ASCII值或者字符集编码值没读取到返回-1intread(char[ ] cbuf)读取多个字符尽量将cbuf数组填满返回读取到的字符个数如果读完文件返回-1intread(char[ ] cbuf, int off, int len)l最多读len-off个从数组off下标开始储存返回读到的个数如果读完文件返回-1 返回值说明 int作为返回值时返回的是一个2字节表示的这时因为在Java中char类型是Unicode编码而String是由utf8编码String的编码集可改。 创建了一个Reader对象要释放对象名.close(); 主要释放的是文件描述符表在进程介绍PCB的主要属性文件描述符表里面主要用顺序表数组来储存如果一直不释放里面数组被占满就会发生内存泄露。 但是如果直接就这么写那如果上面代码抛出异常就执行不到close改进方法 try-finally处理 Reader reader new FileReader(d:/test.txt); try {int n reader.read(); } finally {reader.close();}try with resource 在定义对象时放入出了try语句就会自动调用类实现的close方法必须是实现了closeable接口的。 try( Reader reader new FileReader(d:/test.txt) ) {int n reader.read(); }3.1.2.2 Writer 默认打开一个文件会先清空要继续写不清空在创建对象时传入true作为第二个参数。 InputStream在源码中是一个抽象类不能直接new对象。提供了一个子类FileInputStream。 类需要传文件路径如果文件没找到还会抛出IOException异常。 方法 返回值方法签名说明voidwrite(int c)写入要给文件的数据voidwrite(char[ ] cbuf)将 cbuf 这个字符数组中的数据全部写入 os 中intwrite(byte[ ] cbuf, int off, int len)将 cbuf 这个字符数组中从 off 开始的数据写入 os 中一共写 len 个voidwrite(String str)将 str 这个字符串中的数据全部写入 os 中voidwrite(String str, int off, int len)将 str 这个字符串中的数据从 off 开始的数据写入 os 中一共写 len 个voidclose()关闭字节流voidflush()重要我们知道 I/O 的速度是很慢的所以大多的 OutputStream 为了减少设备操作的次数在写数据的时候都会将数据先暂时写入内存的一个指定区域里直到该区域满了或者其他指定条件时才真正将数据写入设备中这个区域一般称为缓冲区。但造成一个结果就是我们写的数据很可能会遗留一部分在缓冲区中。需要在最后或者合适的位置调用 flush刷新操作将数据刷到设备中。 3.2 字节流字符流转换 使用Scanner工具类去读取文件中的字符。 try(InputStream inputStream new FileInputStream(D:/test.txt)) {Scanner scanner new Scanner(inputStream);String s scanner.next();}使用PrintWriter工具类去写入文件中的字符。 try(OutputStream outputStream new FileOutputStream(D:/test.txt,true)) {PrintWriter printWriter new PrintWriter(outputStream);printWriter.println();}四、自定义快读类 自定义快读类来解决我们做算法题的时候由于数据量过大的时候引起的超时问题。 4.1 自定义快速读入 我们使用Scanner去读IO设备文件而我们现在使用BufferedReader来开辟一个内存缓冲区在内存中拿数据比IO设备要快得多。 步骤 字节流转变为字符流在存入内存缓冲区中。 BufferedReader bf new BufferedReader(new InputStreamReader(system.in));字符串裁剪对象拿到内存缓冲区的字符串的必要对象。 StringTokenizer st new StringTokenizer();详解next方法相当于在内存缓冲区中拿一行数据使用while循环来处理多行输入。 String next() throws IOException {while(!st.hasMoreTokens()) {st new StringTokenizer(bf.readLine());}return st.nextToken(); }其他直接返回对应的parse转换就行。 类代码 import java.util.StringTokenizer; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; class Read {StringTokenizer st new StringTokenizer();BufferedReader bf new BufferedReader(new InputStreamReader(System.in));String next() throws IOException {while(!st.hasMoreTokens()) {st new StringTokenizer(bf.readLine());}return st.nextToken();}String nextLine() throws IOException {return bf.readLine();}int nextInt() throws IOException {return Integer.parseInt(next());}long nextLong() throws IOException {return Long.parseLong(next());}double nextDouble() throws IOException {return Double.parseDouble(next());}float nextFloat() throws IOException {return Float.parsefloat(next());} } 4.2 自定义快速输出 跟自定义一样的优化方式。 public static PrintWriter out new PrintWriter(new BufferedWriter(new OutPutStreamWriter(System.out)))使用之后就直接 out.输出方法输出方法与System.out一样。
http://www.w-s-a.com/news/622197/

相关文章:

  • 深圳洲聚网站建设wordpress 泛解析
  • 五金东莞网站建设技术支持wordpress 添加模板
  • 网站申请专利春节网页设计素材
  • 进网站备案md风格的wordpress主题
  • 如何建站网站十大免费建站app
  • 工作号做文案素材的网站晋城网站设计人
  • 建设部网站官网 施工许可怎样建网站 需要
  • 什么网站都能打开的浏览器同城小程序怎么推广
  • 在电脑上怎么做网站网址seo分析
  • 石家庄做网站网络公司电子商务营销推广
  • 网站开发 前端专做婚礼logo的网站
  • 同创企业网站建设拖拽建设网站源码
  • wordpress调用网站标题网站页面排版
  • 哈尔滨营销网站建设电子商城网站开发要多少钱
  • 免费织梦导航网站模板下载地址自己建站网站
  • 获取网站访客qq号码代码做抽奖网站违法吗
  • 湖南大型网站建设公司排名偷网站源码直接建站
  • 网站建设周期规划北京网站设计必看刻
  • 如何做自己的在线作品网站深圳网站设计公司的
  • 网站开发外包公司wordpress最简单模板
  • 湖南省建设人力资源网站wordpress主机pfthost
  • 淮安软件园哪家做网站各网站特点
  • 网站长尾关键词排名软件重庆荣昌网站建设
  • 建个商城网站多少钱茂名专业网站建设
  • 开通公司网站免费的网站app下载
  • 跨境电商网站模板wordpress壁纸
  • 国内做网站网站代理电子商务网站建设与维护概述
  • 如何做地方网站推广沈阳网势科技有限公司
  • 哈尔滨网站优化技术涵江网站建设
  • 做网站搞笑口号wordpress全屏动画