流的总结
字节流:
InputStream 是字节输入流的超类,其中定义了字节输入流的基本操作方法
read();一次读取一个字节数据
read(byte[] buf);一次读取多个字节数据,存储在buf中,然后给buf中读取的字节个数
FileInputStream:专门用来读取文件中的字节数据的文件字节输入流对象
创建这个类的对象,读取文件中的数据

一次读取一个字节的写法
FileInputStream fis = new FileInputStream("文件");
int ch = 0;
while((ch = fis.read()) != -1){
    //处理读取到的数据,数据在ch中,读取到的是ASCII码,如果没有读到就是-1
}
fis.close();

一次读取多个字节的写法
FileInputStream fis = new FileInputStream("文件");
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf)) != -1){
    //处理数据,数据在buf中,共计有len个,假如没读到就为-1
}
fis.close();

字节输出流
OutputStream 字节输出流的超类,定义了基本的输出字节数据的操作
write(int b);写出一个字节数据,注意只能把这个int数据中的最低1个字节数据写出去
write(byte[] buf)把字节数组中的所有数据写到文件中
write(byte[] buf,int off,int len);把字节数组中的数据从off开始,共计写len个

FileOutputStream 专门用来给文件中写字节流数据的流对象
使用输出流写数据时,如果对应的文件不存在会创建一个文件,如果文件存在,在创建对象时,没有指定true值,就会继续创建新的文件,覆盖原来的文件
一般会在读的while循环中使用写的功能,往出把读取到的数据写出去

字符输入流:
Reader:是所有字符输入流的超类
close();
read();一次读取一个字符数据,但返回的字符数据的编码值
FileReader专门用于读取字符文件字符输入流对象,内部使用本地默认的编码表(GBK)

字符输出流
Writer 所有字符输出流的超类
write(String s)把一个字符串写出去

注意,字符输出流在write()使用后,一定要使用flush()将缓存中的内容刷入硬盘,或者在输出结束时调用close()会自动在流关闭前调用flush();

序列化是将对象状态转换为字节流的过程,需要对象输出流
ObjectOutputStream.对象->文件 是写的过程
反序列化是从特定的流中获取数据重新构建对象的过程,需要使用对象输入流ObjectInputStream. 文件->内存,读的过程
注意:如果一个对象要实现序列化的话,这个类必须要实现序列化接口

序列化步骤:
实现Serializable接口
创建对象输出流
调用writeObject()将对象写入文件
关闭对象输出流

反序列化步骤:
实现Serializable接口
创建对象输入流
调用readObject()读取对象
关闭对象输入流

XML

xml文档内容是由一些列标签元素,标签组成
单标签和双标签
双标签不能相互嵌套
<a><b></a></b>不可以
<a><b></b></a>可以

属性:
格式 <标签名 属性 1="属性值1" 属性2="属性值2" .../>
在属性中,属性的名字命名和标签命名规则一致,一般属性值没有严格要求时,不要以数字开始.
注意:属性值需要使用""包裹
一个标签可以有多个属性,属性值中最好不要包含特殊字符
<!--注释  -->

特殊字符:
&   &amp;
<    &lt;
>    &gt;
"    &quot;
'    &apos;

dom4j解析xml

通过代码将文件读取到程序中,会生成一个document对象 -文件
通过这对象获取文件中的所有内容
1.导包
2.创建流对象
3.通过read方法读取文件
4.通过document对象获取内容 -文件本身

html

<font></font>标签表示html中的字体
属性:
color表示封装的数据的颜色
size:封装的数据大小,7最大,1最小

Strong标签可以使字体加粗

<h1></h1>标签定义标题

<p></p>标签表示段落标签的意思,使用在段与段之间会有点间隔

换行与水平线
<br/>换行  <hr/>水平线    单标签,哪里需要就在哪用

<em>斜体</em>

<img src="图片位置" alt="没加载出来图片会显示" title="鼠标放上会显示"
width="宽度" height="高度">

超链接
<a href="链接地址" target="_blank新开窗口 _self原窗口打开">文本或图像</a>

页面定位方法:
<a id="top"></a> 设置页面上跳转的具体位置也称为标记,a标签可以使用name属性,也可以使用id属性
<a href="#top">返回顶部</a> href中的value就是书写要跳转到的具体位置,必须#开始,跳转到锚点位置的id或name名称

表格标签
<th>表头默认居中加粗
<table border="1px" align="center" width="" height="" cellpadding="0" cellspacing="0" >
    <tr>行
        <td colspan="2 合并2列">单元格1</td>
        <td rowspan="2 合并2行">单元格2</td>
    </tr>
</table>

表单标签
form标签中经常使用其他标签

input主要用来让用户输入数据,type属性可以设置让用户输入的数据类型
属性:
text 文本框,主要用于让用户输入课件数据,input的默认属性
password:密码框,输入不可见数据
radio:单选按钮,注意,多个radio的name必须一致
CheckBox:复选框,用户可以选择多个条件,注意name属性必须一致
file:选择文件,可以把本地文件上传到服务端
submit:提交,提交整个form表单中的数据到服务端
reset:重置,把form表单中的数据重置到初识状态.
button:简单按钮,没有任何点击效果
hidden:因残数据,页面上不会显示,但是这个数据依然会在选择提交时提交个服务端
<select>下拉框,需要和<option>一起使用
<textarea rows="5" cols="40">

h5新添加的特性
支持video和audio元素
canvas,svg元素
离线存储,对本地离线存储更好的支持
设备兼容特性,HTML5提供了前所未有的数据与应用接入开放接口,使外部应用可以直接与浏览器内部的数据直接相连
连接特性,更有效的连接工作效率,使得基于页面的实时聊天,更快速的网页游戏体验,更优化的在线交流得到了实现,更有效的服务器推送技术

<video src="" controls=""></video>还可以设置窗口宽度和高度
controls 显示控件
autoplay 该属性存在则媒体就绪后就会自动播放
loop循环播放

//序列化与反序列化package com.sky.ly.io;import java.io.*;public class Demo {public static void main(String[] args) throws IOException, ClassNotFoundException {//pictureCopy();//textCopy();//objectCopy();objectRead();}public static void pictureCopy() throws IOException {File file1 = new File("D:\\javaJob\\yuan.jpg");File file2 = new File("D:\\test\\yuantest.jpg");//准备输入流对象InputStream in = new FileInputStream(file1);//作为参数给下面的方法DataInputStream dis = new DataInputStream(in);OutputStream out = new FileOutputStream(file2);DataOutputStream dos = new DataOutputStream(out);int ch = 0;while ((ch = dis.read()) != -1) {dos.write(ch);dos.flush();//写一点刷一点}dos.close();//释放资源遵循先开后关原则out.close();dis.close();in.close();}public static void textCopy() throws IOException {//使用字符输出流向文件对象输出内容String s = "sorry";File file = new File("D:\\javaJob\\file.txt");//创建字符流FileWriter writer = new FileWriter(file, true);//表示追加writer.write(s);writer.flush();//刷出,输出流还在,还可以继续写,并且可以重复使用writer.close();//关闭了流对象,不能继续写入}//序列化对象:将内存中的对象转换成二进制形式写入持久化设备public static void objectCopy() throws IOException {User u = new User("xiaomei", 12, "1221211");File file = new File("D:\\javaJob\\fileobj.txt");OutputStream os = new FileOutputStream(file);ObjectOutputStream oos = new ObjectOutputStream(os);oos.writeObject(u);//把对象写出去oos.flush();oos.close();os.close();}//反序列化对象:将二进制对象文件读进内存public static void objectRead() throws IOException, ClassNotFoundException {File file = new File("D:\\javaJob\\fileobj.txt");InputStream in = new FileInputStream(file);ObjectInputStream ois = new ObjectInputStream(in);User u = (User) ois.readObject();System.out.println(u);ois.close();in.close();}}
//dom4j解析xmlpackage com.sky.xml;import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;import java.io.File;
import java.util.List;public class Demo {public static void main(String[] args) throws DocumentException {/*解析 - 将XML文件中的内容获取到java程序中通过代码将文件读取到程序中,会生成一个document对象 -文件通过这对象获取文件中的所有的内容1.导包2.创建流对象3.通过read方法读取文件4.通过document对象获取内容 -文件本身*/SAXReader reader = new SAXReader();Document document = reader.read(new File("D:\\java\\soft\\IntelliJ IDEA 2021.2.1\\workspace\\src\\com\\sky\\xml\\PhoneInfo.xml"));//获取根标签Element rootElement = document.getRootElement();String name = rootElement.getName();System.out.println("根元素是:"+name);//获取该元素的所有的子元素List<Element> eles = rootElement.elements();for (int i = 0; i < eles.size(); i++) {Element ele = eles.get(i);//获取到的是每一个子元素,其实他是brandString eleName = ele.getName();//获取标签的名字//根据指定属性名获取属性对象Attribute attr = ele.attribute("name");String value = attr.getValue();//获取指定属性的值System.out.println("\t第"+(i+1)+"个子元素的名字是:"+eleName);System.out.println("\t\t该标签的name的属性值是: "+value);List<Element> types = ele.elements();for (int j = 0; j < types.size(); j++) {//types其实就是每一个brand标签的子标签,就是type组成的集合Element type = types.get(j);String typeName = type.getName();//获取指定标签指定属性的值Attribute typeAttr = type.attribute("name");String typeAttrValue = typeAttr.getValue();System.out.println("\t\t\t"+eleName+"对应的第"+(j+1)+"个子元素是: "+typeName+",对应的name属性的值"+typeAttr);}}}
}
<?xml version="1.0" encoding="UTF-8"?>
<PhoneInfo><Brand name="华为"><Type name="p50"/><Type name="Mate40"/><Type name="HW123"/></Brand><Brand name="苹果"><Type name="iPhone14"/></Brand>
</PhoneInfo>
//个人简历表单
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>提瓦特档案馆</title></head><body><hr color="aqua" /><h2 align="center">个人简历</h2><form action="abc"><table align="center" border="1px" cellspacing="0" cellpadding="0"><tr align="center"><td >学院</td><td colspan="5"><textarea name="school" cols="100"></textarea></td><td colspan="1" rowspan="5"><img src ="img/ganyu.png" height="280" width="200"/></td></tr><tr align="center"><td>专业</td><td colspan="5"><textarea name="zhuanye"cols="100"></textarea></td></tr><tr align="center"><td>姓名</td><td><textarea name="name"></textarea></td><td>性别</td><td><input type="radio" name="sex" value="男" />男<input type="radio" name="sex" value="女" />女</td><td>民族</td><td><select name="national"><option value="-1">请选择</option><option value="汉">汉</option><option value="满">满</option><option value="蒙">蒙</option><option value="回">回</option><option value="藏">藏</option></select></td></tr><tr align="center"><td>出生年月</td><td><input type="date" name="borthday" value="borthday" /></td><td>籍贯</td><td><textarea name="jiguan"></textarea></td><td>身高(cm)</td><td><em><input type="number" name="bodyheight" /></em>  </td></tr><tr align="center"><td>学历</td><td><textarea name="xueli"></textarea></td><td>政治面貌</td><td colspan="3"><select name="zhengzhimianmao"><option value="-1">请选择</option><option value="群众">群众</option><option value="共青团员">共青团员</option><option value="共产党员">共产党员</option></select></td></tr><tr align="center"><td>就业意向</td><td colspan="6"><textarea name="jiuyeyixiang"cols="122"></textarea></td></tr><tr align="center"><td>家庭地址</td><td colspan="6"><textarea name="homeadress"cols="122"></textarea></td></tr><tr align="center"><td>住宿地址</td><td colspan="2"><textarea name="workadress"cols="30"></textarea></td><td>联系电话</td><td><em><textarea name="callnum"></textarea></em></td><td>手机</td><td><em><textarea name="phonenum"></textarea></em></td>   </tr><tr align="center"><td>任职情况</td><td colspan="6"><textarea name="renzhi"cols="122"></textarea></td></tr><tr align="center"><td rowspan="4">本人简历</td><td colspan="2">起止时间</td><td colspan="2">就读学校</td><td colspan="2">任职</td></tr><tr align="center"><td colspan="2"><input type="date" name="stime" /><input type="date" name="etime" /></td><td colspan="2"><textarea name="prischool"cols="42"></textarea></td><td colspan="2"><textarea name="pjob"cols="45"></textarea></td></tr><tr align="center"><td colspan="2"><input type="date" name="stime" /><input type="date" name="etime" /></td><td colspan="2"><textarea name="midschool"cols="42"></textarea></td><td colspan="2"><textarea name="mjob"cols="45"></textarea></td></tr><tr align="center"><td colspan="2"><input type="date" name="stime" /><input type="date" name="etime" /></td><td colspan="2"><textarea name="highschool"cols="42"></textarea></td><td colspan="2"><textarea name="hjob"cols="45"></textarea></td></tr><tr align="center"><td rowspan="6">奖惩情况</td><td colspan="6"><textarea name="s1"cols="122"></textarea></td></tr><tr align="center"><td colspan="6"><textarea name="s2"cols="122"></textarea></td></tr><tr align="center"><td colspan="6"><textarea name="s3"cols="122"></textarea></td></tr><tr align="center"><td colspan="6"><textarea name="s4"cols="122"></textarea></td></tr><tr align="center"><td colspan="6"><textarea name="s5"cols="122"></textarea></td></tr><tr align="center"><td colspan="6"><textarea name="s6"cols="122"></textarea></td></tr></table><br /><div align="right"><input type="submit" /><input type="reset" /></div></form></body>
</html>

java周总结1113_流总结_序列化_xml_html相关推荐

  1. Thinking in java 琐碎知识点之 I/O流 、对象序列化

    Java I/O流 .对象序列化 1.File类    此类的实例可能表示(也可能不表示)实际文件系统对象,如文件或目录.    File类可以新建.删除和重命名文件和目录,但是File不能访问文件本 ...

  2. java中的IO流之序列化与反序列化(对象数据和文件的读写交互)

    前言必读 读者手册(必读)_云边的快乐猫的博客-CSDN博客 一.知识点介绍 1.什么是序列化与反序列化? 对象与磁盘的交互读写. 2.为什么要学? 2.1在之前的IO流中,都是内存与磁盘进行交互的读 ...

  3. java对象流保存表格,序列化表格 (Java 2 Platform SE 5.0)

    此字段有两种可能的解释: startMode == DOW_IN_MONTH startDay 指示夏令时是在 startMonth 月份中的哪个日期开始的,该日期可以是从 1 到 28.30 或 3 ...

  4. java 流的概念_举例讲解Java中的Stream流概念

    1.基本的输入流和输出流 流是 Java 中最重要的基本概念之一.文件读写.网络收发.进程通信,几乎所有需要输入输出的地方,都要用到流. 流是做什么用的呢?就是做输入输出用的.为什么输入输出要用&qu ...

  5. java byte char io流_吃透Java IO:字节流、字符流、缓冲流

    前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...

  6. java 对象序列化 数组_序列化-将任何对象转换为j中的字节数组

    您要执行的操作称为"序列化". 有几种方法可以做到,但是如果您不需要花哨的东西,我认为使用标准Java对象序列化就可以了. 也许您可以使用这样的东西? package com.ex ...

  7. 20165101刘天野 2017-2018-2 《Java程序设计》 结对编程练习_四则运算(第二周)

    20165101刘天野 2017-2018-2 <Java程序设计> 结对编程练习_四则运算(第二周) 一.需求分析 能随机生成n道四则运算题目,n由使用者输入 支持分数运算 支持多运算符 ...

  8. Java基础-22总结登录注册IO版,数据操作流,内存操作流,打印流,标准输入输出流,转换流,随机访问流,合并流,序列化流,Properties...

    你需要的是什么,直接评论留言. 获取更多资源加微信公众号"Java帮帮" (是公众号,不是微信好友哦) 还有"Java帮帮"今日头条号,技术文章与新闻,每日更新 ...

  9. 【java基础,IO合集】文件流、高级流(缓冲流、对象流)、 序列化接口java.io.Serrializable

    目录 文件流 1 块读写的文件复制操作 2 文件输出流-覆盖模式 3 文件输出流-追加模式 4 文件输出流-读取文本数据 高级流 1  流连接示意图 2 缓冲流 2.1 使用缓冲流完成文件复制操作 2 ...

最新文章

  1. Java .net 心得_关于Java和.Net的一些感想
  2. 计算机组装与维修是几级考试,计算机组装与维修期末考试试卷讲解学习.pdf
  3. 转向AIOps之前,你应该做好哪些准备?
  4. atitit.微信支付的教程文档 attilax总结
  5. 11.14PMP试题每日一题
  6. Java程序员的10个XML面试问答
  7. 判断单链表是否带环?若带环,求环的长度?求环的入口点?(C语言)
  8. 图片像QQ有消息闪动的代码:
  9. 库存转换是什么意思_安全库存的设置:库存计划的看家本领
  10. IntelliJ IDEA 官方网站
  11. OpenSSL ssL_read: Connection was aborted,errno 10053 报错
  12. 参数函数 matlab,MATLAB的函数参数
  13. leetcode-database-262. Trips and Users
  14. Python 文件打开
  15. 2021年黄冈中学高考成绩查询,黄冈高中2021年3月试题及答案
  16. Unfortunately,Launcher has stopped
  17. Tabby使用之:中文乱码问题
  18. 高德推动智慧交通治堵 称三年让拥堵最高降20%
  19. CAD梦想画图中的“绘图工具——矩形”
  20. Keil中 Program Size: Code RO-data RW-data ZI-data 所代表的意思

热门文章

  1. 韩国的开发者开源项目 paper with code论文自动下载
  2. 计算机科学科技创新作品怎么做,第五届科技创新小发明策划书 最终版.doc
  3. python 公众号 关注者位置_微信公众号获取用户地理位置
  4. 得物数据抓取+参数加密解析
  5. django基础入门之搭建博客系统
  6. Jboot v1.4.0 新增分库分表及 websocket 相关 demo
  7. 我傻眼了:一个完全由 AI 生成的播客,采访了乔布斯
  8. sql查询当天交易总额最大的用户信息_如何分析交易记录? 因为后面要分析“每种类型用户的总交易金额”,所以保留左表(用户交易记录表)中的全部用户数据。 【题目】 某商场为了分析用... - 雪球...
  9. E2224和E5-2630v4的区别?
  10. 75道逻辑思维题及答案