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

为什么做的网站预览出来什么都没有网站建设办公软件销售技巧

为什么做的网站预览出来什么都没有,网站建设办公软件销售技巧,江门做网站的公司,搜索引擎优化时营销关键词#x1f970;#x1f970;#x1f970;来都来了#xff0c;不妨点个关注叭#xff01; #x1f449;博客主页#xff1a;欢迎各位大佬!#x1f448; 文章目录 1. 文件1.1 认识文件1.2 分清操作的是内存还是硬盘1.3 路径1.3.1 目录结构1.3.2 相对和绝对路径 1.4 文本文件… 来都来了不妨点个关注叭 博客主页欢迎各位大佬! 文章目录 1. 文件1.1 认识文件1.2 分清操作的是内存还是硬盘1.3 路径1.3.1 目录结构1.3.2 相对和绝对路径 1.4 文本文件和二进制文件1.4.1 含义1.4.2 区分 2. 文件系统操作2.1 构造 File 对象2.2 File 提供的方法 3. 文件内容操作3.1 分类3.2 字节流 —— InputStream和OutputSream的使用方法3.3 try with resources 用法3.4 字符流 —— Reader和Writer的使用方法3.5 如何实现读一行 1. 文件 1.1 认识文件 平时谈到的文件指的都是硬盘上的文件 【知识回顾】 硬盘(外存) 与 内存相比从如下4个方面对比 1速度内存比硬盘快很多 2空间内存空间比硬盘小 3成本内存比硬盘贵随着时代的发展目前内存也不算太贵啦 4持久化内存掉电后数据丢失硬盘掉电后数据仍在 1.2 分清操作的是内存还是硬盘 回顾我们之前写的代码绝大部分都是围绕内存展开的比如定义一个变量其实就是在内存上申请空间MySQL主要是操作硬盘 【IO】指的是输入和输出I 是 inputO 是 output 文件IO 这里也是操作硬盘~ 有两种操作如下 1文件系统操作创建文件删除文件重命名文件创建目录等等 2文件内容操作针对文件的内容进行读和写 1.3 路径 【路径】即文件系统上一个文件/目录具体的位置 目录 文件夹 (目录即文件夹) 目录 —— 计算机专业人士专业术语 文件夹 —— 通俗的说法我们经常说的~ 1.3.1 目录结构 计算机的目录是层级结构文件系统是以树型结构来组织文件和目录的是N叉树如下图所示 从上图可以看到文件路径就是从树根节点出发沿着树杈一路往下走到达目标文件此时这个中间经过的内容 1.3.2 相对和绝对路径 Windows 都是从此电脑 开始的表示路径时可以把 “此电脑” 省略直接从盘符开始表示 实际表示路径如下 D:\QQ\Misc\QQApp 实际表示路径是通过一个字符串表示每个目录之间使用 \ 反斜杠 或者 / (斜杆) 注意\ 反斜杠只是在Windows中适用代码中需要写成 \ 需要转义所有在代码中最好用 / 斜杠表示 【绝对路径】从盘符开始一层一层往下找这个过程中得到的路径为绝对路径 【相对路径】从给定的某个目录出发一层一层往下找找得这个过程得到的路径为相对路径 注意!!! 相对路径一定要明确工作目录即基准目录什么!!! 在具体一点来说儿~ 工作目录就是项目所在的目录写相对路径就是以工作目录/基准目录为基准来展开的!!! 举个栗子比如我要找一碗热干面 我可以从宇宙出发进行寻找一直找宇宙 —— 地球 —— 中国 —— 湖北 —— 武汉… 找到热干面这是绝对路径 我也可以直接从中国出发一直找中国 —— 湖北 —— 武汉…找到热干面这是相对路径 【路径举例】 要找到USBCoInstaller.dill绝对路径如下 1假设工作目录如下 此时找到USBCoInstaller.dill 相对路径的表示./32/USBCoInstaller.dill 2假设工作目录如下 此时找到USBCoInstaller.dill 相对路径的表示./adbdrv/32/USBCoInstaller.dill 3假设工作目录如下 此时找到USBCoInstaller.dill 相对路径的表示./LEmu/adbdrv/32/USBCoInstaller.dill 【补充说明】 文件系统上任何一个文件对应的路径是唯一的!!! 不会存在两个路径相同但是文件不一样的情况 1在Windows 系统上可以认为路径和文件是一一对应的路径就相当于一个文件的身份标识具有唯一性 2在Linux 系统上可能存在一个文件有两个不同的路径能找到该文件 【总结】 关于路径是非常关键的~后面很多地方会涉及到路径尤其是相对路径相对路径一定要明确工作目录(基准目录)是什么两者相比之下绝对路径就可以理解成以此电脑为工作路径 1.4 文本文件和二进制文件 1.4.1 含义 【文本文件】 存储的都是文本文本文件内容都是由ASCII字符构成的以下是ASCII字符表部分展示 对于ASCII而言表示范围0-127随着时代发展又有了其它的编码方式如 utf8 之类的就可以针对其它语言的文字符号进行编码utf8 可以想象成一个更大的表但是终究是有限的 文本文件存储的数据就是遵守ASCII或者其它字符集编码所得到的文件本质上存的是字符不仅仅是所说的char!!! 【二进制文件】 存储的是二进制数据没有任何字符集的限制存什么都是可以的不受限制!!! 1.4.2 区分 最简单粗暴的方式直接使用记事本打开某个文件通过其内容判断 如果能看懂这个文件则是文本文件 如果是一大堆乱码看不懂的则是二进制文件 为什么会出现乱码因为二进制都是一个个字节记事本尝试把当前若干个字节的数据我那个 utf8 里面套套出来是什么就是什么套不出来的就是方块 【常见的文本文件】 1.txt 2.java 3.c 【常见的二进制文件】 1.exe 2.jpg 3.mp3 4.docx 5.excel 如图所示.java文件被记事本打开是可以看懂的内容比如这些是导入包的代码语句.java是文本文件 如图所示.docx 文件被记事本打开是一大堆乱码完全看不懂的内容.docx 是二进制文件 2. 文件系统操作 文件系统操作我们需要了解是怎么操作的文件是存储在硬盘上的直接通过代码操作硬盘不是很方便就在内存中创建一个对应的对象通过操作这个内存中的对象就可以间接影响到硬盘的文件情况~ 所以Java 标准库给我们提供了 File 这个类File 对象是硬盘上的一个文件抽象的表示通过代码对 File 对象的操作间接影响硬盘的文件内容 打个形象的比方这里的 File 对象相当于遥控器我们可以通过控制遥控器即通过代码操作 File 对象来间接控制电视频道即间接控制硬盘的文件 2.1 构造 File 对象 File类构造方法如下 其中最常用的还是第2种构造的过程中可以使用绝对路径/相对路径 进行初始化 注意这个路径指向的文件可以是真实存在的也可以是不存在的!!! 这里是不受限制的~ 创建 File 对象需要导入该包 import java.io.File;具体创建 File 对象过程如下 public class IODemo {public static void main(String[] args) throws IOException {File file new File(d:/student.txt); //这里可以是相对路径也可以是绝对路径} }2.2 File 提供的方法 这些方法我们一看名字就知道怎么用很容易理解不需要去记在实践中掌握就可以啦~ 忘记或者不会的查查就可以 其中需要注意的是 【Q】如果输入的路径文件不存在系统会自动创建一个文件吗 【A】并不会只有手动调用 createNewFile() 方法才可以创建文件注意文件是文件目录是目录区分开来!!! 下面我们进行代码的演示以熟悉上述操作 1前面五种操作返回值均为 boolean 类型 public class IODemo1 {public static void main(String[] args) throws IOException {File file new File(d:/student.txt);System.out.println(file.getParent());System.out.println(file.getName());System.out.println(file.getPath());System.out.println(file.getAbsoluteFile());System.out.println(file.getCanonicalFile());} }打印结果如下 2接下来的五种操作 public class IODemo2 {public static void main(String[] args) throws IOException {File file new File(./hello world.txt);System.out.println(file.exists());System.out.println(file.isDirectory());System.out.println(file.isAbsolute());//创建文件file.createNewFile();System.out.println(file.exists());System.out.println(file.isDirectory());System.out.println(file.isFile());//删除文件之后file.delete();System.out.println(file.exists());} }打印结果如下 3创建目录 public class IODemo3 {public static void main(String[] args) {File file new File(test-dir/aaa/bbb);//只能创建1个目录//file.mkdir();//创建多级目录file.mkdirs();} } 打印结果如下可以在左侧看到文件夹test-dir创建了多级目录 4罗列目录下的内容 public class IODemo4 {public static void main(String[] args) {File file new File(test-dir);//罗列目录下的内容String[] result1 file.list();System.out.println(Arrays.toString(result1));File[] result2 file.listFiles();System.out.println(Arrays.toString(result2));} }打印结果如下 5修改文件名字 public class IODemo5 {public static void main(String[] args) {File src new File(./test-dir);File dest new File(./test123);src.renameTo(dest);} }打印结果如下 以上是 File 类方法的一些基本操作演示通过这些案例我们更够更加熟悉叭~ 3. 文件内容操作 3.1 分类 文件内容操作提供了很多类一组类进行操作分为两类 1针对文本文件提供了一组类统称为字符流 典型代表ReaderWriter 读写的基本单位是 字符 2针对二进制文件提供了一组类统称为字节流 典型代表InputStreamOutputSream 读写的基本单位是 字节 这里出现了一个新字 —— “流”(stream) 比如在生活中水流~ 从水龙头接水假如让你接 1000ml 的水你的接法有很多种 1 一次性接完 1000ml 的水 2 一次接 500ml分两次接完 3 一次接 200ml分五次接完 … 字节流 假如让你从文件读取 1000 个字节的数据你的读法也可以有很多种 1 一次性读完 1000 字节的数据 2 一次读 500 字节的数据分两次读完 3 一次接 200 字节的数据分五次接完 每种流对象分为两种 输入的ReaderInputStream 输出的WriterOutputStream 【注意】一定要认清输入输出的方向!!! 以下面示意图更加明确输入和输出的方向: 3.2 字节流 —— InputStream和OutputSream的使用方法 InputStream 用来进行 IOIO 不仅仅可以读写硬盘的文件还可以读写别的如后面学习到网络编程可以知道IO 还能用来读网卡 初步认识一下 InputStream是抽象类不能直接实例化!!! 使用方法 InputStream inputStream new FileInputStream(指定当前要读的一个文件路径);【重点——关闭操作】 同时一定要记得一个操作关闭操作!!! inputStream.close();这个操作非常重要在C中主要是一个手动释放资源包括内存Java中有GC内存一般不需要手动释放但是在这里文件的资源则需要手动释放! (垃圾回收GarbageCollectionGC它的主要作用是回收程序中不再使用的内存) 【这里文件的资源指的是什么呢】 主要指的是文件描述符这里回顾一下前面讲解进程时候提到进程是使用 PCB 这样的结构来表示的 其中PCB中的属性有 1pid 2内存指针 3进程调度信息4 文件描述符表 文件描述符表记载了当前进程都打开了哪些文件每次打开一个文件都在这个表里申请到一个位置这个表可以当做一个数组数组下标就是文件描述符数组元素就是这个文件在内核中结构体的表示但是这个表的长度是有限的不能无休止的打开而不进行释放一旦满了继续打开就会打开失败造成文件资源泄露的问题这个问题是十分严重的!!! public class IODemo {public static void main(String[] args) throws IOException {//这个过程就是相当于C中的fopen 文件的打开操作//让这个当前变量和硬盘的文件相关联起来InputStream inputStream new FileInputStream(d:/student.txt); //...//进行读的操作 //关闭操作很重要inputStream.close();} }但是这样写 如果执行中间出现一些问题 比如return 或者 抛出异常close就执行不到了是十分危险的 既然这样我们要确保close()方法执行到可以进行如下修改 public class IODemo {public static void main(String[] args) throws IOException {InputStream inputStream null;try {inputStream new FileInputStream(d:/student.txt);//...//进行读的操作} finally {inputStream.close();}} }但是上述代码写法是不优雅的~ 代码也要讲究美观性呀下面介绍try with resources 用法使代码漂亮起来即更加简洁起来! 同理OutputSream的用法如下 OutputStream outputStream new FileOutputStream(指定当前要读的一个文件路径);3.3 try with resources 用法 【try with resources】是一个异常处理机制它的作用是解决使用 try-catch 语句时可能遇到的代码重复和繁琐问题该机制可以确保即使在抛出异常的情况下也能将资源正确的关闭 【范围】try with resources 语句可以用于处理任何实现了java.lang.AutoCloseable接口的对象这包括了所有IO 对象(如InputStream、OutputStream、Reader和Writer)、JDBC资源(如Connection、Statement)和Zip压缩文件(如ZipFile和ZipInputStream) 因为 InputStream 实现了一个特定的接口—— Closeable充分利用该特点带有资源的 try 操作会在 try 代码块结束自动执行 close 关闭操作 inputStream 相当于遥控器通过它调用 read() 对文件进行读取有三种形式如下 1 read() 无参数相当于一次读一个字节 2 read(byte[] b) 读多个字节放在 byte[] 数组里面 3 read(byte[] bint offint len) 读多个字节放在 byte[] 数组里面限定起始位置和长度 【补充】这里可以看到都是 int 接收为啥不使用 short ? 我们可以把 short 忘记啦看起来是节省了两个字节但是显得很小气!!! 虽然 short 也实现内存对齐但是没有 int来得快short 和 float 都用得很少!!! 表示整数一般都是 int 和 long 表示浮点数一般都是 double 代码举例如下 public class IODemo {public static void main(String[] args) throws IOException {try(InputStream inputStream new FileInputStream(d:/student.txt)) {//读文件//read一次返回的是一个字节 但是此处的返回类型是intwhile(true) {int b inputStream.read();if(b -1) {//读到末尾了break;}System.out.println(b);}}} }打印的结果如下 【解释说明】 在此处读到的97、98、99是因为使用的是字节流每次读的不是字符而是字节读出的这些数据就是每个字符的ASCII码!!! abc 对应的ASCII码正是97、98、99 如果student.txt 文件写的是汉字呢结果将会是怎么样的呢~ 重新运行程序打印结果如下 字符集!!! 2个汉字6个字节(每个数字就是一个字节上述程序运行结果有6个数字即6个字节)每个汉字3个字节很明显是utf8编码的~查询对应结果如下 上述打印结果为10进制是把3个字节放在一起弄了一个大的十进制和把3个字节分开打印是不一样的把代码按照十六进制打印更方便看清与上图结果相对应 //转成16进制打印System.out.printf(%x\n,b);utf8和unicode就可以视为两个不同的表编号是不同的即使是同一个符号(汉字)得到的数值是不一样的uft8是基于unicode演化而来写代码统一为utf8是最靠谱的做法 这里是utf8查询转换链接 OutputStream 写入的举例代码如下 public class IODemo7 {public static void main(String[] args) {try(OutputStream outputStream new FileOutputStream(d:/student.txt)) {outputStream.write(100);outputStream.write(101);outputStream.write(102);} catch(IOException e) {e.printStackTrace();}} }运行程序后打开student.txtASCII值为100对应小写字母d101对应e102对应f成功写入! 有一种很神奇的感觉通过代码就能实现对文件的内容写入~ 还是很方便的 3.4 字符流 —— Reader和Writer的使用方法 与字节流是类似的~ Reader 对应的 FileReader Reader reader new FileReader(指定当前要读的一个文件路径);Writer 对应的FileWriter Writer writer new FileWriter(指定当前要读的一个文件路径);read()方法来读 —— 一次读一个char或者char[] write()方法来写 —— 一次写一个char 或者char[]或者String 举个栗子~ public class IODemo8 {public static void main(String[] args) {try(Reader reader new FileReader(d:/student.txt)) {while(true) {int c reader.read();if(c -1) {break;}char ch (char) c;System.out.println(ch);}}catch (IOException e) {e.printStackTrace();}} }打印结果如下是对应的读取成功 3.5 如何实现读一行 使用Scanner 套就可以啦不多说直接上代码 public class IODemo8 {public static void main(String[] args) {File file new File(d:/student.txt);try (Scanner sc new Scanner(file)) {while(sc.hasNextLine()) {String line sc.nextLine();System.out.println(line);}} catch (FileNotFoundException e) {e.printStackTrace();}} }打印结果如下 本期内容回顾 ✨✨✨本期内容到此结束啦~
http://www.tj-hxxt.cn/news/133420.html

相关文章:

  • odoo 12 网站开发怎么做网页html
  • 有哪些可以做调查的网站濮阳做网站推广的公司
  • 徐州建站互联网营销模式
  • 潍坊网站建设SEO优化做流量任务的试用网站
  • 采购网站大全app设计欣赏网站
  • 如何百度搜索到自己的网站网站被黑了
  • 全国新农村建设中心网站怎样做同城配送网站
  • 网站备案完成后品牌设计logo
  • 平面设计专用网站网站建设 选择题
  • 可以做砍价活动的网站如何用源代码提取网页的图片
  • 网站图片展示代码最新新闻事件摘抄
  • 空间网站wordpress底部漂浮
  • 大连开发区做网站投广告的平台有哪些
  • 电子商务网站建设训练总结seo搜索优化服务
  • 信息科技公司网站怎么做做网站开发公司
  • 河南省住房与城乡建设部网站电子商务企业网站的推广方式
  • 网站开发开票内容专业网站制作公司地址
  • 网站的建设费计入什么科目中职网页设计与制作教材
  • 福田网站设计公司做海外网站推广
  • 网站开发英文论文网站开发需要学
  • 忻州网站制作动漫设计学校
  • 网站开发师培训创建网站论坛
  • 浙江省工程建设质量管理协会 网站天元建设集团有限公司商票兑付情况
  • 深圳建筑设计平台网站信息流广告创意
  • 榆林做网站网站建设公司盈利分析
  • 网站底部图标wordpress打赏按钮
  • 漳州网站建设哪家好天津免费建网站
  • 做年报的网站怎么登不上去了互联网企业公司简介
  • 网站建设首选九零后网络昆明网页建站平台
  • 免费舆情网站下载大全最新版大连工业大学研究生院官网