MATLAB绘图基础5:MATLAB数据导入

news/2024/9/17 7:20:51/ 标签: matlab, 开发语言, MATLAB绘图

参考书:《 M A T L A B {\rm MATLAB} MATLAB与学术图表绘制》(关东升)。



5.MATLAB数据导入
5.1 从CSV文件读取数据
  • C S V {\rm CSV} CSV文件是一种纯文本文件,文件中的数据以逗号为分隔符进行字段分隔,每一行数据代表一条记录,每个字段在该行内通过逗号进行分隔;

  • C S V {\rm CSV} CSV文件可以使用任何文本编辑器创建和编辑,且可以被很多应用软件程序和编程语言读取和处理;

  • C S V {\rm CSV} CSV文件通常用于存储表格数据,如:电子表格数据、数据库导出数据等;

  • r e a d t a b l e {\rm readtable} readtable函数:

    • 作用: r e a d t a b l e {\rm readtable} readtable函数适用于读取包含混合数据类型,包括文本和数值的 C S V {\rm CSV} CSV文件,并将其导入为 M A T L A B {\rm MATLAB} MATLAB表格;

    • 列名: r e a d t a b l e {\rm readtable} readtable自动将 C S V {\rm CSV} CSV文件的第一行作为列名,便于理解和操作数据;

    • r e a d t a b l e {\rm readtable} readtable语法:

      matlab">% readtable语法:
      T = readtable(filename)
      T = readtable(filename, Name, Value)% T:表格数据结构,用于存储从文件中读取的数据;
      % filename:要读取的文件的路径和名称;
      % Name,Value:一些可选的名称-值对(即键值对),用于指定额外的选项,如跳过的行数等;
      
  • c s v r e a d {\rm csvread} csvread函数:

    • 作用: c s v r e a d {\rm csvread} csvread函数适用于读取仅包含数值数据的 C S V {\rm CSV} CSV文件,并将其导入为 M A T L A B {\rm MATLAB} MATLAB数值矩阵;

    • 数据类型:适用于纯数值数据,不支持文本列;

    • 列名:不支持列名,只导入数值部分;

    • 数据结构:导入的数据以数值矩阵的形式存储,适用于数值分析和计算;

    • c s v r e a d {\rm csvread} csvread语法:

      matlab">% csvread语法:
      M = csvread(filename)
      M = csvread(filename, R1, C1)
      M = csvread(filename, R1, C1, R2, C2)% M:包含从CSV文件中读取的数值数据的矩阵;
      % filename:要读取的CSV文件的路径和名称;
      % R1、C1、R2、C2:用于指定要读取的数据范围的行和列;
      
  • r e a d t a b l e {\rm readtable} readtable函数使用示例:

    matlab">% ch05_01.m
    clear;
    clc;% 创建要读取的文件路径;
    filePath = 'ch05_01.csv';     
    data1 = readtable(filePath);disp(data1(1:2,:));         % 显示前两行数据;
    disp('==============================================');
    disp(data1(1:5,:));         % 显示前五行数据;
    disp('==============================================');
    disp(data1(:,:));           % 显示整个文件数据;
    
    matlab">% ch05_01.m运行结果:Name        Age    Height    Weight___________    ___    ______    ______{'Willard'}    20      172        60  {'Chen'   }    18      160        45  ==============================================Name        Age    Height    Weight___________    ___    ______    ______{'Willard'}    20      172        60  {'Chen'   }    18      160        45  {'Zhang'  }    18      165        46  {'LiuQB'  }    28      170        55  {'Zhou'   }    19      166        46  ==============================================Name        Age    Height    Weight___________    ___    ______    ______{'Willard'}    20      172        60  {'Chen'   }    18      160        45  {'Zhang'  }    18      165        46  {'LiuQB'  }    28      170        55  {'Zhou'   }    19      166        46 
    
  • c s v r e a d {\rm csvread} csvread函数使用示例:

    matlab">% ch05_02.m
    clear;
    clc;% 创建要读取的文件路径;
    filePath = 'ch05_02.csv';     % 注:字符串读取不了,如:姓名列(name):Willard、Chen这些数据读取不了;
    data2 = csvread(filePath,1,1);      % 从第2行第2列开始读取数据;   disp(data2);                     
    
    matlab">% ch05_02.m运行结果:20   172    6018   160    4518   165    4628   170    5519   166    46
    
5.2 从Excel文件读取数据
  • M A T L A B {\rm MATLAB} MATLAB中,可以使用 x l s r e a d {\rm xlsread} xlsread函数和 r e a d t a b l e {\rm readtable} readtable函数从 E x c e l {\rm Excel} Excel文件导入数据;

  • x l s r e a d {\rm xlsread} xlsread函数特点:

    • 返回一个数值矩阵,不返回列标签;
    • 主要用于读取 E x c e l {\rm Excel} Excel文件中的数值数据,不擅长读取文本数据;
    • 通常需要指定要读取的数据范围,包括工作表名称、索引及数据范围;
    • 通常需要额外的处理来处理数据类型和列标签;
  • x l s r e a d {\rm xlsread} xlsread函数语法:

    matlab">% xlsread函数语法:
    [num, txt, raw] = xlsread(filename)
    [num, txt, raw] = xlsread(filename, sheet)
    [num, txt, raw] = xlsread(filename, sheet, range)% num:一个包含数值数据的矩阵;
    % txt:一个包含文本数据的单元格数组;
    % raw:一个包含原始数据的混合单元格数组;
    % filename:要读取的Excel文件的路径和名称;
    % sheet:要读取的工作表的名称和索引;
    % range:要读取的数据范围;
    
  • r e a d t a b l e {\rm readtable} readtable函数使用示例:

    matlab">% ch05_03.m
    clear;
    clc;% 指定数据文件路径
    filePath = 'ch05_03.xls';% 指定要读取的数据范围(第1列至第6列,第4行至第23行数据)
    data_range = 'A4:F23';% 使用readtable函数读取指定范围的数据
    data = readtable(filePath, 'Range', data_range);% 显示数据
    disp(data);
    
    matlab">% ch05_03.m运行结果:Var1          Var2       Var3     Var4     Var5     Var6 __________    __________    _____    _____    _____    _____{'2018年'}    1.3954e+05    71351    68187    83137    56401{'2017年'}    1.3901e+05    71137    67871    81347    57661{'2016年'}    1.3827e+05    70815    67456    79298    58973{'2015年'}    1.3746e+05    70414    67048    77116    60346{'2014年'}    1.3678e+05    70079    66703    74916    61866{'2013年'}    1.3607e+05    69728    66344    73111    62961{'2012年'}     1.354e+05    69395    66009    71182    64222{'2011年'}    1.3474e+05    69068    65667    69079    65656{'2010年'}    1.3409e+05    68748    65343    66978    67113{'2009年'}    1.3345e+05    68647    64803    64512    68938{'2008年'}     1.328e+05    68357    64445    62403    70399{'2007年'}    1.3213e+05    68048    64081    60633    71496{'2006年'}    1.3145e+05    67728    63720    58288    73160{'2005年'}    1.3076e+05    67375    63381    56212    74544{'2004年'}    1.2999e+05    66976    63012    54283    75705{'2003年'}    1.2923e+05    66556    62671    52376    76851{'2002年'}    1.2845e+05    66115    62338    50212    78241{'2001年'}    1.2763e+05    65672    61955    48064    79563{'2000年'}    1.2674e+05    65437    61306    45906    80837{'1999年'}    1.2579e+05    64692    61094    43748    82038
    
  • x l s r e a d {\rm xlsread} xlsread函数使用示例:

    matlab">% ch05_04.m
    clear;
    clc;% 指定数据文件路径
    filePath = 'ch05_04.xls';% 指定要读取的数据范围(第1列至第6列,第4行至第23行数据)
    data_range = 'A4:F23';% 使用xlsread函数读取数据
    % num:包含从Excel文件中读取的数值数据;
    % txt:包含文本数据;
    % raw:包含原始数据,包括数值和文本数据;
    [num, txt, raw] = xlsread(filePath, data_range);
    disp('Excel文件中的数值数据:');
    disp(num);disp('Excel文件中的文本数据:');
    disp(txt);disp('Excel文件中的原始数据:');
    disp(raw);
    
    matlab">% ch05_04.m运行结果:
    Excel文件中的数值数据:139538       71351       68187       83137       56401139008       71137       67871       81347       57661138271       70815       67456       79298       58973137462       70414       67048       77116       60346136782       70079       66703       74916       61866136072       69728       66344       73111       62961135404       69395       66009       71182       64222134735       69068       65667       69079       65656134091       68748       65343       66978       67113133450       68647       64803       64512       68938132802       68357       64445       62403       70399132129       68048       64081       60633       71496131448       67728       63720       58288       73160130756       67375       63381       56212       74544129988       66976       63012       54283       75705129227       66556       62671       52376       76851128453       66115       62338       50212       78241127627       65672       61955       48064       79563126743       65437       61306       45906       80837125786       64692       61094       43748       82038Excel文件中的文本数据:{'2018年'}{'2017年'}{'2016年'}{'2015年'}{'2014年'}{'2013年'}{'2012年'}{'2011年'}{'2010年'}{'2009年'}{'2008年'}{'2007年'}{'2006年'}{'2005年'}{'2004年'}{'2003年'}{'2002年'}{'2001年'}{'2000年'}{'1999年'}Excel文件中的原始数据:{'2018年'}    {[139538]}    {[71351]}    {[68187]}    {[83137]}    {[56401]}{'2017年'}    {[139008]}    {[71137]}    {[67871]}    {[81347]}    {[57661]}{'2016年'}    {[138271]}    {[70815]}    {[67456]}    {[79298]}    {[58973]}{'2015年'}    {[137462]}    {[70414]}    {[67048]}    {[77116]}    {[60346]}{'2014年'}    {[136782]}    {[70079]}    {[66703]}    {[74916]}    {[61866]}{'2013年'}    {[136072]}    {[69728]}    {[66344]}    {[73111]}    {[62961]}{'2012年'}    {[135404]}    {[69395]}    {[66009]}    {[71182]}    {[64222]}{'2011年'}    {[134735]}    {[69068]}    {[65667]}    {[69079]}    {[65656]}{'2010年'}    {[134091]}    {[68748]}    {[65343]}    {[66978]}    {[67113]}{'2009年'}    {[133450]}    {[68647]}    {[64803]}    {[64512]}    {[68938]}{'2008年'}    {[132802]}    {[68357]}    {[64445]}    {[62403]}    {[70399]}{'2007年'}    {[132129]}    {[68048]}    {[64081]}    {[60633]}    {[71496]}{'2006年'}    {[131448]}    {[67728]}    {[63720]}    {[58288]}    {[73160]}{'2005年'}    {[130756]}    {[67375]}    {[63381]}    {[56212]}    {[74544]}{'2004年'}    {[129988]}    {[66976]}    {[63012]}    {[54283]}    {[75705]}{'2003年'}    {[129227]}    {[66556]}    {[62671]}    {[52376]}    {[76851]}{'2002年'}    {[128453]}    {[66115]}    {[62338]}    {[50212]}    {[78241]}{'2001年'}    {[127627]}    {[65672]}    {[61955]}    {[48064]}    {[79563]}{'2000年'}    {[126743]}    {[65437]}    {[61306]}    {[45906]}    {[80837]}{'1999年'}    {[125786]}    {[64692]}    {[61094]}    {[43748]}    {[82038]}
    
5.3 从JSON文件读取数据
  • J S O N ( J a v a S c r i p t O b j e c t N o t a t i o n ) {\rm JSON(JavaScript\ Object\ Notation)} JSON(JavaScript Object Notation)文件以文本形式表示结构化数据;

  • J S O N {\rm JSON} JSON结构:

    // JSON示例:
    [{"name": "Willard","Age": 20,"Height": 170,"Weight": 60},{"name": "Chen","Age": 18,"Height": 160,"Weight": 48}
    ]// 1.大括号{}表示一个JSON对象,包含键值对的集合,每个键值对由一个键(key)和一个关联值(value)组成,
    // 	 键和值间用冒号分隔,键值对间用逗号分隔,JSON对象用于表示具有命名字段的数据;// 2.中括号[]表示一个JSON数组,包含值的有序集合,JSON数组允许用户将多个值按一定的顺序进行组织;
    //   数组中的每个值可以是一个标量或另一个JSON对象或JSON数组,JSON数组通常用于表示多个相似的数据项;
    
  • 读取 J S O N {\rm JSON} JSON文件数据示例:

    matlab">% ch05_05.m
    clear;
    clc;% 读取JSON文件并存储在jsonStr变量中;
    jsonStr = fileread('ch05_05.json');% 使用jsondecode函数将JSON字符串解码为MATLAB结构体;
    jsonData = jsondecode(jsonStr);% 访问和操作解码后的数据;
    for i = 1:length(jsonData)name = jsonData(i).Name;age = jsonData(i).Age;height = jsonData(i).Height;weight = jsonData(i).Weight;fprintf('Name: %s\n',name);fprintf('Age: %d, Height: %d, Weight: %d\n\n',age, height, weight);
    end
    
    matlab">% ch05_05.m运行结果:
    Name: Willard
    Age: 20, Height: 170, Weight: 60Name: Chen
    Age: 18, Height: 160, Weight: 46Name: Zhang
    Age: 18, Height: 166, Weight: 48
    
    // ch05_05.json文件内容
    [{"Name": "Willard","Age": 20,"Height": 170,"Weight": 60}, {"Name": "Chen","Age": 18,"Height": 160,"Weight": 46},{"Name": "Zhang","Age": 18,"Height": 166,"Weight": 48}
    ]
    
5.4 从XML文件读取数据
  • X M L ( E x t e n s i b l e M a r k u p L a n g u a g e ) {\rm XML(Extensible\ Markup\ Language)} XML(Extensible Markup Language):一种用于存储和交换数据的文本格式;

  • X M L {\rm XML} XML是一种标记语言,用于描述数据的结构和内容, X M L {\rm XML} XML文件包含各种数据,这些数据使用标签和元素来标识和组织,每个 X M L {\rm XML} XML元素都由一个开始标签、元素内容和结束标签组成;

  • X M L {\rm XML} XML语法示例:

    <?xml version="1.0" encoding="UTF-8"?>
    <studentInfoData><Name name="Willard"><Age>20</Age><Height>172</Height><Weight>60</Weight></Name><Name name="Chen"><Age>18</Age><Height>156</Height><Weight>46</Weight></Name>
    </studentInfoData>
    
  • 读取 X M L {\rm XML} XML数据示例:

    matlab">% ch05_06.m
    clear;
    clc;% 读取XML文件
    xmlFile = 'ch05_06.xml';
    % 使用xmlread函数解析XML文件
    doc = xmlread(xmlFile);% 获取根元素(AirQualityData)
    root = doc.getDocumentElement();% 获取City元素的节点列表
    cityNodes = root.getElementsByTagName('City');% 初始化一个结构数组,用于存储城市数据
    cityData = struct();% 遍历每个City元素
    for i = 0:cityNodes.getLength - 1cityNode = cityNodes.item(i);% 获取城市的名称属性cityName = char(cityNode.getAttribute('name'));% 获取Year、PM25_Concentration、PM10_Concentration、SO2_Concentration和CO_Concentration的值year = str2double(cityNode.getElementsByTagName('Year').item(0).getTextContent());pm25 = str2double(cityNode.getElementsByTagName('PM25_Concentration').item(0).getTextContent());pm10 = str2double(cityNode.getElementsByTagName('PM10_Concentration').item(0).getTextContent());so2 = str2double(cityNode.getElementsByTagName('SO2_Concentration').item(0).getTextContent());co = str2double(cityNode.getElementsByTagName('CO_Concentration').item(0).getTextContent());% 存储城市数据到结构数组cityData(i+1).name = cityName;cityData(i+1).year = year;cityData(i+1).PM25_Concentration = pm25;cityData(i+1).PM10_Concentration = pm10;cityData(i+1).SO2_Concentration = so2;cityData(i+1).CO_Concentration = co;
    end
    
    <?xml version="1.0" encoding="UTF-8"?>
    <AirQualityData><City name="北京"><Year>2018</Year><PM25_Concentration>25</PM25_Concentration><PM10_Concentration>40</PM10_Concentration><SO2_Concentration>10</SO2_Concentration><CO_Concentration>5</CO_Concentration></City><City name="上海"><Year>2018</Year><PM25_Concentration>35</PM25_Concentration><PM10_Concentration>50</PM10_Concentration><SO2_Concentration>15</SO2_Concentration><CO_Concentration>8</CO_Concentration></City><City name="广州"><Year>2018</Year><PM25_Concentration>45</PM25_Concentration><PM10_Concentration>60</PM10_Concentration><SO2_Concentration>20</SO2_Concentration><CO_Concentration>10</CO_Concentration></City>
    </AirQualityData>
    
5.5 从mat文件读取数据
  • m a t {\rm mat} mat M A T L A B {\rm MATLAB} MATLAB基于二进制的专有的数据文件格式,用来保存 M A T L A B {\rm MATLAB} MATLAB中的数据,包括矩阵、数组、字符串等;

  • m a t {\rm mat} mat文件的主要特点包括:

    • 可以方便地保存 M A T L A B {\rm MATLAB} MATLAB的任意数据,包括多维数组、结构数组等复杂数据;
    • 数据以压缩的二进制格式保存,文件体积小;
    • 通过 m a t {\rm mat} mat文件可以地在 M A T L A B {\rm MATLAB} MATLAB和其他语言间交换数据;
    • 使用 M A T L A B {\rm MATLAB} MATLAB s a v e {\rm save} save函数和 l o a d {\rm load} load函数可以方便地读写 m a t {\rm mat} mat文件;
  • 读取 m a t {\rm mat} mat数据使用示例:

    matlab">% ch05_07.m
    clear;
    clc;% 生成8x8的随机数据矩阵并存储在变量data中;
    data = rand(8);
    save('ch05_07.mat','data');clear;% 使用load函数从ch05_07.mat文件加载数据;
    load('ch05_07.mat');% 将加载的数据存储在newdata变量中;
    newdata = data;% 使用plot函数绘制newdata中的数据;
    plot(newdata);
    set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',1.5);
    xlabel('x');
    ylabel('y');% 返回每一列的最大值;
    msg = sprintf('最大值:%f',max(newdata));
    disp(msg);% 将newdata变量保存到newdata.mat文件中;
    save('newdata.mat','newdata');
    

    1


http://www.ppmy.cn/news/1522547.html

相关文章

力扣416-分割等和子集(Java详细题解)

题目链接&#xff1a;416. 分割等和子集 - 力扣&#xff08;LeetCode&#xff09; 前情提要&#xff1a; 因为本人最近都来刷dp类的题目所以该题就默认用dp方法来做。 最近刚学完01背包&#xff0c;所以现在的题解都是以01背包问题为基础再来写的。 如果大家不懂01背包的话…

人生苦短我用Python Excel文件基本操作

人生苦短我用Python Excel文件基本操作 前言文件基本操作的模块和类pathlib.Path 类os.stat_result 类time.struct_time 命名元组time 模块shutil 模块 示例查看属性拷贝文件重命名文件查找文件批量操作 测试 前言 本文主要介绍通过Python中的pathlib模块&#xff0c;完成Exce…

【Android面试八股文】你能说说FragmentPagerAdapter 和 FragmentStatePagerAdapter的区别吗?

文章目录 一、FragmentPagerAdapter1.1 工作方式1.2 生命周期1.3 优缺点1.4 适用场景1.5 示例二、FragmentStatePagerAdapter2.1 工作方式2.2 生命周期2.3 优缺点2.4 适用场景2.4 示例三、FragmentPagerAdapter和FragmentStatePagerAdapter关于instantiateItem()方法和destroyI…

【Java中的位运算和逻辑运算详解及其区别】

Java中的位运算和逻辑运算详解及其区别 在 Java 编程中&#xff0c;位运算和逻辑运算是常见的两种操作类型。位运算用于操作整数的二进制位&#xff0c;而逻辑运算则是处理布尔值 (boolean) 的运算。本文将详细讲解这两种运算及其主要区别&#xff0c;并给出相应示例。 应用场…

Docker入门学习-01

Docker 官方文档 1. Docker 基础知识 1.1 什么是 Docker&#xff1f; Docker 是一个开源的平台&#xff0c;用于开发、交付和运行应用程序。它使用容器技术&#xff0c;将应用程序及其依赖打包在一个轻量级的可移植容器中。 1.2 Docker 的主要组件 镜像&#xff08;Image&a…

Django form.save 方法的详细分析

在 Django 中&#xff0c;form.save() 方法是用于将表单中的数据保存到数据库的核心方法。它的功能和实现可以分为几个重要的部分&#xff0c;下面就是我对 form.save() 方法的详细分析&#xff1a; 1、问题背景 在 Django 中&#xff0c;我们经常会使用 Form 来处理用户提交的…

2024 年高教社杯全国大学生数学建模竞赛 C 题 农作物的种植策略(详细思路+matlab代码+python代码+论文范例)

持续更新中,2024年数学建模比赛思路代码论文都会发布到专栏内,只需订阅一次! 完整论文+代码+数据结果链接在文末! 一、第一问 问题描述:假定各种农作物未来的预期销售量、种植成本、亩产量和销售价格相对于 2023 年保持稳定,每季种植的农作物在当季销售。如果某种作物每…

mysql基础知识-锁机制

文章目录 锁类型1. 共享锁&#xff08;Shared Locks, S锁&#xff09;2. 排他锁&#xff08;Exclusive Locks, X锁&#xff09;3. 意向锁&#xff08;Intention Locks&#xff09;4. 记录锁&#xff08;Record Locks&#xff09;5. 间隙锁&#xff08;Gap Locks&#xff09;6. …

SpringBoot和Mybatis框架怎么防止SQL注入

在 Spring Boot 和 MyBatis 中&#xff0c;防止 SQL 注入的主要方法包括&#xff1a; 1.使用 MyBatis 的动态 SQL MyBatis 提供了安全构建 SQL 查询的方式&#xff0c;推荐使用动态 SQL 标签&#xff08;如 <if>、<choose>、<foreach> 等&#xff09;构建查…

安卓玩机工具-----通用安卓玩机工具 “搞机助手”界面预览 推荐

在网络中有很多很好玩的工具。方便安卓机型联机使用各种功能。系列博文将详细的演示有些工具的特点与使用方法 搞机助手 作者&#xff1a;流水断崖 目前开发功能有&#xff1a;Twrp recovery全自动刷机&#xff0c;免Root冻结、卸载预装软件&#xff0c;免Root激活&#xff…

Azure和Transformers的详细解释

Azure AI 是微软提供的人工智能 (AI) 解决方案的集合&#xff0c;旨在帮助开发人员、数据科学家和企业轻松构建和部署智能应用程序。以下是对 Azure AI 各个方面的详细解释&#xff1a; Azure AI 主要组件 Azure Cognitive Services&#xff08;认知服务&#xff09;&#xff…

音频-语言大模型原理

重磅推荐专栏: 《大模型AIGC》 《课程大纲》 《知识星球》 本专栏致力于探索和讨论当今最前沿的技术趋势和应用领域,包括但不限于ChatGPT和Stable Diffusion等。我们将深入研究大型模型的开发和应用,以及与之相关的人工智能生成内容(AIGC)技术。通过深入的技术解析和实践经…

【Dash】feffery_antd_componenet 中的 AntdSpace

一、feffery_antd_componenet 中的 AntdSpace feffery_antd_components&#xff08;简称fac&#xff09;中的AntdSpace组件是一个基于Ant Design的Dash第三方组件&#xff0c;它用于在水平或垂直方向上放置多个元素&#xff0c;并提供元素之间的间距。以下是AntdSpace组件的一…

鸿蒙开发中实现自定义弹窗 (CustomDialog)

效果图 #思路 创建带有 CustomDialog 修饰的组件 &#xff0c;并且在组件内部定义controller: CustomDialogController 实例化CustomDialogController&#xff0c;加载组件&#xff0c;open()-> 打开对话框 &#xff0c; close() -> 关闭对话框 #定义弹窗 (CustomDial…

Google Maps API申请和集成到React Native应用中的教程

Google Maps API申请和集成到React Native应用中的教程 访问Google Cloud Console 打开浏览器,访问 https://console.cloud.google.com/使用您的Google账号登录 选择或创建项目 在页面顶部的项目下拉菜单中,选择现有项目或创建新项目如果创建新项目,点击"新建项目",…

本地如何快速启动静态服务器

本地快速启动静态服务器 有许多第三方库可以帮助你快速启动一个静态服务器&#xff0c;甚至无需编写代码。通过命令行运行这些库后&#xff0c;它们会自动启动一个服务器并打开指定端口&#xff0c;展示当前目录下的文件内容&#xff1a; 电脑得提前安装NodeJS 1、http-serv…

yum源404导致Could not resolve host: mirrorlist.centos.org

yum源更换错误问题记录 网上查询到的部分源过旧&#xff0c;现在已经不存在404&#xff0c;可以将报错信息中的无法访问的地址在浏览器中尝试。如下http://mirrorlist.centos.org/?release7&archx86_64&repoos&infrastock这个地址就已经不在。 可以网上搜一下最新…

UI(五)常用布局总结

自适应布局 1.1、线性布局&#xff08;LinearLayout&#xff09; 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列&#xff0c;Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距&#xff0c;达到各子组件…

关于HTTP SESSION

一个浏览器客户端共享一个session&#xff0c;当浏览器请求到服务器时 通过HttpSession session request.getSession(false);来创建session。 HttpSession session request.getSession(false); 当参数为false时&#xff0c;服务器会通过sessionID找&#xff0c;如果当前服务器…

启动与登录Mysql

1.启动与停止MYSQL服务 启动MySQL 服务的命令 以管理员身份打开Windows 的命令行窗口&#xff0c;在命令提示符后输入以下命令启动MySQL 服务&#xff1a; net start[ 服务名称] 也可以直接输入以下命令&#xff1a; net start 按【Enter】键执行该命令&#xff0c;默认启…