使用文本文件txt进行数据存取的技巧总结Word文件下载.docx

上传人:b****2 文档编号:15356231 上传时间:2022-10-29 格式:DOCX 页数:16 大小:25.61KB
下载 相关 举报
使用文本文件txt进行数据存取的技巧总结Word文件下载.docx_第1页
第1页 / 共16页
使用文本文件txt进行数据存取的技巧总结Word文件下载.docx_第2页
第2页 / 共16页
使用文本文件txt进行数据存取的技巧总结Word文件下载.docx_第3页
第3页 / 共16页
使用文本文件txt进行数据存取的技巧总结Word文件下载.docx_第4页
第4页 / 共16页
使用文本文件txt进行数据存取的技巧总结Word文件下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

使用文本文件txt进行数据存取的技巧总结Word文件下载.docx

《使用文本文件txt进行数据存取的技巧总结Word文件下载.docx》由会员分享,可在线阅读,更多相关《使用文本文件txt进行数据存取的技巧总结Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。

使用文本文件txt进行数据存取的技巧总结Word文件下载.docx

 00110101 

00110110 

00110111 

00111000 

↓ 

 ↓ 

    ↓ 

  ↓

十进制码:

5     6  

 7  

   8 

共占用4个字节。

ASCII码文件可在屏幕上按字符显示,例如源程序文件就是ASCII文件,用DOS命令TYPE可显示文件的内容。

由于是按字符显示,因此能读懂文件内容。

二进制文件是按二进制的编码方式来存放文件的。

00010110 

00101110只占二个字节。

二进制文件虽然也可在屏幕上显示,但其内容无法读懂。

C系统在处理这些文件时,并不区分类型,都看成是字符流,按字节进行处理。

输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。

因此也把这种文件称作“流式文件”。

2.文本模式(textmode)和二进制模式(binarymode)有什么区别?

流可以分为两种类型:

文本流和二进制流。

文本流是解释性的,最长可达255个字符,其中回车/换行将被转换为换行符“\n”,(如果以"

文本"

方式打开一个文件,那么在读字符的时候,系统会把所有的"

\r\n"

序列转成"

\n"

,在写入时把"

转成"

)。

二进制流是非解释性的,一次处理一个字符,并且不转换字符。

注:

\n一般会操作系统被翻译成"

行的结束"

,即LF(Line-Feed)

\r会被翻译成"

回车"

,即CR(Cariage-Return)

对于文本文件的新行,在UNIX上,一般用\n(LF)来表示,Mac上用\r(CR)来表示,

Windows上是用\n\r(CR-LF)来表示。

通常,文本流用来读写标准的文本文件,或者将字符输出到屏幕或打印机,或者接受键盘的输入;

而二进制流用来读写二进制文件(例如图形或字处理文档),或者读取鼠标输入,或者读写调制解调器。

如果用文本方式打开二进制文件,会把“0D 

0A”自动变换成“\n”来存在内存中。

写入的时候反向处理。

而二进制方式打开的话,就不会有这个过程。

但是,Unicode/UTF/UCS格式的文件,必须用二进制方式打开和读写。

---------------------------------------------------------------------------------------------------------

上述基础其实大可以略过,简言之,对用户来说:

在matlab中存储成为二进制还是文本文件取决于fopen的方式,如果用wt,则存储为文本文件,这样用记事本打开就可以正常显示了;

如果用w则存储为二进制文件,这样用记事本打开会出现小黑方块,要正常显示的话,可以用写字板或UltraEdit等工具打开。

二.Matlab的I/O文件操作使用技巧和总结:

1.Matlab支持的I/O文件(对应“取/存”操作)类型:

(所有文件I/O程序不需要特殊的工具箱)

(注:

从上表可以看到,matlab不支持doc格式的文档存取(因为doc文档包含很多格式控制符),请改用txt或者dat格式)

2.Matlab的I/O文件指南:

以下是部分对应的中文译文:

--------------------------------------------------------------转----------------------------------------

本技术支持指南主要处理:

ASCII,binary,andMATfiles.

要得到MATLAB中可用来读写各种文件格式的完全函数列表,可以键入以下命令:

helpiofun

MATLAB中有两种文件I/O程序:

highlevelandlowlevel.

Highlevelroutines:

包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。

Lowlevelroutines:

可以更加灵活的完成相对特殊的任务,需要较多的额外编程。

Highlevelroutines包括现成的函数,可以用来读写特殊格式的数据,并且只需要少量的编程。

举个例子,如果你有一个包含数值和字母的文本文件(textfile)想导入MATLAB,你可以调用一些lowlevelroutines自己写一个函数,或者是简单的用TEXTREAD函数。

使用highlevelroutines的关键是:

文件必须是相似的(homogeneous),换句话说,文件必须有一致的格式。

下面的段落描述一些highlevelfileI/Oroutines并给出一些例子帮助理解概念。

LOAD/SAVE

主要的highlevelfileI/Oroutines是LOAD和SAVE函数。

LOAD

可以读MAT-filedata或者用空格间隔的格式相似的ASCIIdata.SAVE可以将MATLAB变量写入MAT-file格式或者空格间隔的ASCIIdata。

大多数情况下,语法相当简单。

下面的例子用到数值由空格间隔的ASCIIfilesample_file.txt:

154168

543268

684321

907876

598123

Example:

用LOADandSAVE读写数据

CODE:

%Loadthefiletothematrix,M:

M=load('

sample_file.txt'

%Add5toM:

M=M+5

%SaveMtoa.matfilecalled'

sample_file_plus5.mat'

:

savesample_file_plus5M

%SaveMtoanASCII.txtfilecalled'

sample_file_plus5.txt'

:

savesample_file_plus5.txtM-ascii

UIGETFILE/UIPUTFILE

UIGETFILE/UIPUTFILE是基于图形用户界面(GUI)的。

会弹出对话框,列出当前目录的文件和目录,提示你选择一个文件。

UIGETFILE让你选择一个文件来写(类似Windows‘另存为’选项?

)。

用UIGETFILE,可以选择已存在的文件改写,也可以输入新的文件名。

两个函数的返回值是所选文件名和路径。

用UIGETFILE从当前目录选择一个M-file

%ThiscommandlistsalltheM-filesinthecurrentdirectoryand

%returnsthenameandpathoftheselectedfile

[fname,pname]=uigetfile('

*.m'

'

SampleDialogBox'

注意:

UIGETFILE一次只能选择一个文件。

UIIMPORT/IMPORTDATA

UIIMPORT是一个功能强大,易于使用的基于GUI的highlevelroutine,用于读complexdatafiles。

文件也必须是homogeneous。

IMPORTDATA形成UIIMPORT的功能,不打开GUI。

可以将IMPORTDATA用于函数或者脚本中,因为在函数或者脚本中基于GUI的文件导入机制并不理想。

下面的例子用到包含几行文件头和文本、数值数据的文件'

sample_file2.txt'

Thisisafileheader.

Thisisfileisanexample.

col1col2col3col4

612.000

613.000

614.000

615.000

UsingIMPORTDATAtoreadinafilewithheaders,text,andnumericdata

%Thisreadsinthefile'

andcreatesa

%structureDthatcontainsbothdataandtextdata.

%NotetheIMPORTDATAcommandspecifiesawhitespace

%asthedelimiterofthefile,butIMPORTDATAcanusually

%detectthisonitsown

D=importdata('

'

) 

%原文有误?

可以通过访问结构D的数据和文本域,来看结构D中的真实值,例如输入:

data=D.data

text=D.textdata

可以用UIIMPORT读同一个文件并得到同样的结构.

对于ASCIIdata,你必须检验导入向导正确的识别了列分隔符。

TEXTREAD/STRREAD

TEXTREAD是一个强大的动态highlevelroutine,设计用来读ASC

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1