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

网站页面组成常州制作网站软件

网站页面组成,常州制作网站软件,广告公司出售家具 税率,免费制作简历的app我是南城余#xff01;阿里云开发者平台专家博士证书获得者#xff01; 欢迎关注我的博客#xff01;一同成长#xff01; 一名从事运维开发的worker#xff0c;记录分享学习。 专注于AI#xff0c;运维开发#xff0c;windows Linux 系统领域的分享#xff01; 本…我是南城余阿里云开发者平台专家博士证书获得者 欢迎关注我的博客一同成长 一名从事运维开发的worker记录分享学习。 专注于AI运维开发windows Linux 系统领域的分享 本章节对应知识库 File类和IO流 (yuque.com)  尚硅谷_宋红康_IO流.pptx 小tips科普: 为什么创建文件对象时文件即使不存在物理磁盘也不会报错 因为仅在Java层面创建了一个Java对象并未对此进行读写操作不然则会进行报错 在Java中当使用File类来代表一个文件时如果该文件在文件系统中不存在创建File对象并不会立即触发文件系统的访问因此不会引发任何异常。 File类代表了文件系统中的路径名它可以作为文件或目录的抽象表示。当你创建一个File对象时它只是在Java程序中创建了一个对象并没有要求这个文件一定要存在。 只有当你在对文件进行读取、写入或者执行其他与文件系统相关的操作时才会真正触发对文件的访问。比如调用File对象的exists()方法或者创建文件输入输出流进行读写操作才会触发文件系统的访问。 当你调用File对象的某些方法时如delete()、createNewFile()等才会导致对文件系统的操作如果文件确实不存在或者无法创建则会抛出相应的异常。 因此创建File对象并不会立即检查文件是否存在所以不会在创建File对象时就报错。而是在进行实际的文件操作时才会根据文件系统的状态来决定是否出现异常。 为啥Windows的文件层次关系用\表示而Linux用/ 这涉及到历史和设计上的考虑。 起初这种区别是源于不同操作系统的发展历史。在早期的操作系统中这种文件层次结构的表示方式并不统一。后来Unix系统引入了正斜杠/作为目录分隔符这在当时可以被看作是一项创新。而在DOS和Windows中则使用了反斜杠\来表示目录分隔符。 这种差异在很大程度上也反映了不同系统设计者的个人喜好和初衷。虽然在很多方面这两种表示方式都能够很好地满足文件系统的需要但是由于历史原因这种区别就一直延续至今。 此外正斜杠和反斜杠在计算机中都有特殊的含义正斜杠在Unix/Linux系统中用于表示命令行参数的选项因此在路径表示时避免了歧义而反斜杠在Windows中被用来表示转义序列如\n表示换行等。 总的来说这种区别在很大程度上是由操作系统设计者和历史发展决定的尽管在一些跨平台的软件中会进行统一处理但是在文件系统层面这种差异基本上已经深入人心难以改变。 File类 》File类位于java.io包下本章涉及的相关流也都声明在此包下 》File类的一个对象对应与操作系统下的一个文件或文件目录下 》File类声明了新建、删除、获取名称、重命名等方法并没有涉及到文件内容的读写操作。要想实现文件内容的读写需要使用io流 》File类的对象通常是作为io流操作的端点出现的 》代码层面将File类的对象作为参数传递到IO流相关类的构造器中。 IO流 IO流的分类 》流向的不同输入流、输出流 》处理单位的不同字节流、字符流 》流的角色不同节点流、处理流 基础IO流的框架 抽象基类 4个节点流也称文件流 4个缓冲流 InputStream FileInputStream BufferedInputStream OutputStream FileOutputStream BufferOutStream Reader FileReader BufferReader Writer FileWriter BufferWriter FileWriter\FileReader的使用 执行步骤 》创建读取或写出的File类的对象 》创建输入输出流 》具体的读入或写出的过程 读入read(char[] cbuffer) 写入write(String str) / write(char[] cbuffer,0,len) 》关闭流资源避免内存泄漏 注意点 》因为涉及流资源的关闭操作所以出现异常的话需要try-catch-finally的方式来处理异常 》对于输入流来讲要求File类的对象对应的物理磁盘的文件必须存在。否则会报FileNotFoundException 对于输出流来讲File类的对象对应的物理磁盘文件可以不存在 》如果此文件不存在则在输出的过程中会自动创建此对象并写出数据到此文件中 》如果此文件存在使用FileWriter(File file)或FileWriter(File file,false): 输出数据过程中会新建同名的文件对现有文件进行覆盖 FileWriter(File file,true):输出数据过程中会在现有文件的末尾追加 写出内容 public class FWWrite {//注意应该使用try-catch-finally处理异常。这里出于方便阅读代码使用了throws的方式Testpublic void test01()throws IOException {// 使用文件名称创建流对象FileWriter fw new FileWriter(new File(fw.txt));// 写出数据fw.write(97); // 写出第1个字符fw.write(b); // 写出第2个字符fw.write(C); // 写出第3个字符fw.write(30000); // 写出第4个字符中文编码表中30000对应一个汉字。//关闭资源fw.close();}//注意应该使用try-catch-finally处理异常。这里出于方便阅读代码使用了throws的方式Testpublic void test02()throws IOException {// 使用文件名称创建流对象FileWriter fw new FileWriter(new File(fw.txt));// 字符串转换为字节数组char[] chars 尚硅谷.toCharArray();// 写出字符数组fw.write(chars); // 尚硅谷// 写出从索引1开始2个字符。fw.write(chars,1,2); // 硅谷// 关闭资源fw.close();}//注意应该使用try-catch-finally处理异常。这里出于方便阅读代码使用了throws的方式Testpublic void test03()throws IOException {// 使用文件名称创建流对象FileWriter fw new FileWriter(fw.txt);// 字符串String msg 尚硅谷;// 写出字符数组fw.write(msg); //尚硅谷// 写出从索引1开始2个字符。fw.write(msg,1,2); // 硅谷// 关闭资源fw.close();}Testpublic void test04(){FileWriter fw null;try {//1. 创建File的对象File file new File(personinfo.txt);//2. 创建FileWriter的对象将File对象作为参数传递到FileWriter的构造器中//如果输出的文件已存在则会对现有的文件进行覆盖fw new FileWriter(file); // fw new FileWriter(file,false);//如果输出的文件已存在则会在现有的文件末尾写入数据 // fw new FileWriter(file,true);//3. 调用相关的方法实现数据的写出操作//write(String str) / write(char[] cbuf)fw.write(I love you,);fw.write(you love him.);fw.write(so sad.toCharArray());} catch (IOException e) {e.printStackTrace();} finally {//4. 关闭资源避免内存泄漏try {if (fw ! null)fw.close();} catch (IOException e) {throw new RuntimeException(e);}}} } FileInputStream\FileOutStream的使用 执行步骤 》创建读取或写出的File类的对象 》创建输入输出流 》具体的读入或写出的过程 读入read(byte[] buffer) 写入write(byte[] buffer,0,len) 》关闭流资源避免内存泄漏 注意点 》对于字符流只能用来操作文本文件不能用来处理非文本文件 》对于字节流通常用来处理非文本文件。但是如果涉及到文本的复制也可以使用字节流 说明 文本文件.txt、.java、.c、.ccp等 非文本文件.doc、.xls、.jpg、mp3等 缓冲流 作用文件比较大时提升文件读写效率。 转换流 字符编码字符、字符串、字符数组——》字节、字节数组看的懂——》看不懂 字符解码字节、字节数组——》字符、字符串、字符数组看不懂——》看的懂 程序在读取文本文件时不希望乱码需要考虑 解码时使用的字符集必须与当初编码使用的字符集相同 作用实现字节与字符间的转换 API InputStreamReader将一个输入型的字节流转换为输入型的字符流 OutputStreamWriter: 将一个输出型的字符流转换为输出型的字节流 常见字符集 在存储文件中的字符集 在内存中的字符集 一个字符char占用2个字节。在内存中使用的字符集称为Unicode字符集。 数据流已废弃 已废弃已被对象流覆盖 DataOutputStream:可以将内存中的基本数据类型的变量、String类型的变量写出到具体的文件中 DataInputStream将文件中保存的数据还原为内存中的基本数据类型的变量、String类型的变量 对象流 API ObjectInputStream ObjectOutputStream 作用 可以读写基本数据类型的变量引用数据类型的变量 对象的序列化机制 对象序列化机制允许把内存中的Java对象转换成平台无关的二进制流从而把这种二进制流持久地保存在磁盘上。 或通过网络将这种二进制流传输到另一个网络节点。 //当其它程序获取了这种二进制流就可以恢复成原来地Java对象 如下两个流的使用 序列化过程使用ObjectOutputStream流实现。将内存中的Java对象保存在文件中或通过网络传输出去 反序列化过程使用ObjectInputstream流实现将文件中的数据或网络还原为内存中的Java对象 自定义类实现序列化机制 》自定义类需要实现接口Serializable 》要求自定义类声明一个全局变量static final long serizalVersionUID 4223422L 用来唯一的标识当前类 》要求自定义类的各个属性也必须是可序列化的 》对于基本数据类型的属性默认就是为可序列化的 》对于引用数据类型的属性要实现Serilalizable接口 注意点 》如果不声明全局变量serivalVersionUID系统会自动针对当前类分配一个UID 但是如果修改此类中的变量方法构造器等或导致UID变化进而导致反序列化时出现 InvalidClassException异常 》类中的属性如果声明为transient或static则不会实现序列化。
http://wiki.neutronadmin.com/news/385372/

相关文章:

  • 网站开发教程大全网站开发成本最低多少钱
  • deal 网站要怎么做重庆网站建设网站
  • 虚拟机怎么做网站空间宿迁市工厂外包工加工
  • 网站建设的背景意义电商网站用什么框架做
  • 网站建设原理与实践公司装修费用可以一次性入账吗
  • 网站备案帐号密码微信服务号怎么做商城
  • 做qq的网站wordpress ios git
  • 可做外链的网站可以自己做装修效果图的网站
  • 怎么用ps做网站首页图片尺寸wordpress中常用插件安装包
  • 华为云建站官网烟台手机网站建设费用
  • 重庆企业网站建站WordPress搭建社区网站
  • 国外做外贸的网站佛山顺德容桂网站制作
  • 重庆垫江网站建设北京网站备案
  • 网站设计 字体git主题wordpress
  • 如何自己创建购物网站做网站公司(信科网络)
  • 嘉祥网站建设多少钱做网站开发人员架构
  • 网站建设及维护课件免费注册公司如何做网站
  • 网站建设一般分为几个步骤宁波哪个公司建网站
  • 深圳公司举报网站网站数据库安全
  • 东莞建设网官方网站上海企业vi设计公司
  • 旅游网站 分析包头网络推广
  • 企业门户网站包括安徽省建设监理网站
  • 万州网站建设果园路支持wordpress
  • 有用的网站地址wordpress图片禁止保存下载
  • 开封景区网站建设方案文明网站建设情况
  • 单位网站建设情况说明百度搜索网站排名
  • 学校网站建设框架网络推广公司 深圳
  • 济南网站建设策划wordpress lt
  • 做网站的公司如何运营千库网ppt
  • 重庆市城市建设档案馆网站大家推荐永久免费的服务器