搜档网
当前位置:搜档网 › MFC-txt文件读写

MFC-txt文件读写

MFC-txt文件读写
MFC-txt文件读写

文本文件的读写

正确的文本文件读写过程

1.定义文件变量;

2.打开指定的文件;

3.向从文本文件中写入信息;

4.从文本文件中读取信息;

5.关闭文件

1、定义文件变量

定义文件变量格式:CStdioFile 文件变量;

例如,定义一个名称为f1的文件变量,语句如下:CStdioFile f1;

2、打开指定文件

可以直接通过CStdioFile的构造函数来打开磁盘文件,同时可以用标志位指定打开方式(只读、只写、读写等):

CStdioFile(LPCTSTR lpszFileName,UINT nOpenFlags);

其中,lpszFileName表示要打开的文件名,可以是相对路径或绝对路径

nOpenFlags设置文件打开方式标志位,可以指定用“|”连接多个标志位。下面是常用的打开标志:

CFile::typeText:以文本文件的形式打开文件

CFile::typeBinary:以二进制文件的形式打开文件

CFile::modeCreate:如果指定文件名的文件不存在,则新建文件;如果文件存在并且没有设置CFile::modeNoTruncate标志,则清空文件。

CFile::modeNoTruncate:如果文件存在,不把它的长度删除为0(即不清空文件中的数据)。

:以只读方式打开文件

CFile::modeReadWrite:以可读可写方式打开文件

CFile::modeWrite:以只写方式打开文件

CFile::shareDenyNone:文件打开后,不禁止其他进程对文件的读写操作CFile::shareExclusive:文件打开后,禁止其他进程对文件的读写操作CFile::shareDenyRead:文件打开后,禁止其他进程对文件的读操作

CFile::shareDenyWrite:文件打开后,禁止其他进程对文件的写操作

此外,可以不在构造函数中打开文件,而仅仅调用空的构造函数CStidoFile(),然后用CStdioFile::Open()打开文件。Open函数的前两个参数和非空构造函数的参数相同,其声明如下:

BOOL Open(LPCTSTR lpszFileName,UINT nOpenFlags,CFileException* pError=NULL);

第3个参数与打开失败时的异常处理有关。

实例1:以只读方式打开一个文件

步骤:

使用AppWizard创建一个对话框应用程序,删除其自动产生的所有控件,添加一个Button 控件。双击控件,在相应的函数里添加代码:

char * pszFileName="C:\\myfile.txt";

CStdioFile myFile;

CFileException fileException;

if(!myFile.Open(pszFileName,CFile::modeCreate|CFile::typeText|CFile::modeRead),&file Exception)

{

TRACE("Can't open file %s, error = %u\n",pszFileName,fileException.m_cause);

}

运行结果:如果C:\下没有myfile.txt文件,则新生成该文件。

3.向从文本文件中写入信息

CStdioFile提供了函数WriteString来向文本文件中写入文本,WriteString函数的格式如下:

void WriteString(LPCTSTR lpsz);

WriteString的参数lpsz是一个以”\0”字符结束的字符串,要把这个字符串的内容写入文件。

提示:使用WriteString函数时,如果希望每执行一次WriteString,文本文件中的内容就会自动换行一次,那么就需要在需要换行的地方输出“\n”:

myFile.WriteString(“第1行\n”);

实例2:向文件中写入文本

建立MFC基于对话框的程序,删除自动添加的所有控件,添加一个“确定”按钮,双击按钮,按默认添加事件函数,双击按钮,在相应的函数处添加如下代码:

char* pszFileName="C:\\myfile.txt";

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(pszFileName,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite), &fileException)

{

myFile.WriteString("第1行\n");

CString strOrder;

strOrder.Format("%d,%.3f",66,88.88);

myFile.WriteString(strOrder);

}

else

{

TRACE("Can't open file %s,error=%u\n",pszFileName,fileException.m_cause);

}

程序运行结果:C:\myfile.txt文件中内容如下:

第1行

66,88.880

4.从文本文件中读取信息

CStidoFile提供了函数ReadString来读取文本,ReadString有两种形式,一种为:

virtual LPTSTR ReadString(LPTSTR lpsz, UINIT nMax);

ReadString函数的参数如下:

lpsz :是用户提供的一个指向字符串的指针,它用来接受从文件读出的文本,以”\0”结束。

nMax是本次所允许读入的文本字符个数,不计“\0”字符,也就是说最多能读入nMax-1个文本字符。

ReadString的返回值是一个LPTSTR类型的指针,它指向从文件读出的文本字符串,如果到达文件尾,则返回NULL。

ReadString的另一种形式为:

BOOL ReadString(CString& rString);

参数rString用来容纳从文件读出的文本。

CString版本忽略回车换行符,返回值是一个布尔值。如果返回值为FALSE,表示因到达文件尾而没有读到任何字符。

提示:每执行一次ReadString,就会自动从文本文件中读取一行数据,同时文件操作指针会自动跳转到下一行。

实例3:从文件中读取文本信息

步骤:创建基于对话框的MFC程序,删除所有自动添加的控件,添加按钮控件,为按钮添加事件,并在相应的函数处,添加如下代码:

char* pszFileName="C:\\myfile.txt";

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(pszFileName,CFile::typeText|CFile::modeReadWrite),&fileException)

{

myFile.SeekToBegin();

CString str1;

myFile.ReadString(str1);

CString str2;

myFile.ReadString(str2);

AfxMessageBox(str1+str2);

}

else

{

TRACE("Can't open file %s,error=%u\n",pszFileName,fileException.m_cause);

}

myFile.Close();

5.关闭文件

对文件的操作完成后,使用CloseFile关闭文件。

函数CStdioFile::Close关闭一个文件,一般一个文件使用完毕就应该关闭它:

myFile.Close();

错误的文本文件读写过程

在读写文本文件的时候,最常见的错误是---操作文件不存在。这种错误产生的典型原因有:1.路径错误

char * pszFileName="C:\\Windows\\MyFile.txt";

CStdioFile myFile;

CFileException fileException;

if(!myFile.Open(pszFileName,CFile::modeCreate|CFile::typeText|CFile::modeReadWrite) ,&fileException)

{

//文件操作代码

}

else

{

TRACE("Can't open file %s, error = %u\n",pszFileName,fileException.m_cause);

}

myFile.Close();

由于将文件变量与一个绝对路径的文件名关联,而程序的数据通常存储在相对路径下,所以一旦相对路径和相对路径不一致时,就会出错。

举例而言,上一段程序本意是想从windows的安装目录下面的MyTextFile.txt文件中读取一行数据,但是如果操作系统安装的路径不是C:\Windwos,而是C:\Winnt,那么这段程序就会出错。

解决方法是在程序中使用相对路径,改正后的程序如下:

//获取windows路径

LPTSTR lpBuffer=new char[MAX_PATH];

::GetWindowsDirectory(lpBuffer,MAX_PATH);

strcat(lpBuffer,"\\MyFile.txt");

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(lpBuffer,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite),&fileE xception)

{

//文件操作代码

}

else

{

TRACE("Can't open file %s, error = %u\n",pszFileName,fileException.m_cause);

}

myFile.Close();

由于将文件变量与一个绝对路径的文件名关联,而程序的数据通常存储在相对路径下,所以一旦相对路径和相对路径不一致时,就会出错。

举例而言,上一段程序本意是想从windows的安装目录下面的MyTextFile.txt文件中读取一行数据,但是如果操作系统安装的路径不是C:\Windwos,而是C:\Winnt,那么这段程序就会出错。

解决方法是在程序中使用相对路径,改正后的程序如下:

//获取windows路径

LPTSTR lpBuffer=new char[MAX_PATH];

::GetWindowsDirectory(lpBuffer,MAX_PATH);

strcat(lpBuffer,"\\MyFile.txt");

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(lpBuffer,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite),&fileE xception)

{

//文件操作代码

}

else

{

TRACE("Can't open file %s, error = %u\n",pszFileName,fileException.m_cause);

}

CString strFileTitle="MyFile.txt";

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(strFileTitle,CFile::typeText|CFile::modeReadWrite),&fileException)

{

//文件操作代码

myFile.WriteString("测试!");

}

else

{

TRACE("Can't open file %s, error = %u\n",pszFileName,fileException.m_cause);

}

myFile.Close();

2.操作文件不存在

如果应用程序所有路径下面不存在MyFile.txt文件,那么在WriteString写入信息时就会出错。

解决办法就是在程序中打开文件前要检查是否存在此文件。如下程序:

CString strFileTitle="MyFile.txt";

CFileFind finder;

if(finder.FindFile(strFileTitle))

{

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(lpBuffer,CFile::typeText|CFile::modeCreate|CFile::modeReadWrite),&fileE xception)

{

//文件操作代码

}

else

{

TRACE("Can't open file %s, error = %u\n",pszFileName,fileException.m_cause);

}

}

else

{

TRACE("Can't find file %s\n",strFileTitle);

}

myFile.Close();

3.超越文件权限进行读写操作

在打开文件的过程中,通过参数指定了文件的读写权限,如果读写的操作没有和相应的权限对应,就会出现错误。

下面的程序就是典型的忽略了文件操作权限的例子:

CString strFileTitle="MyFile.txt";

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(strFileTitle,CFile::typeText|CFile::modeCreate|CFile::NoTruncate|CFile::m odeRead),&fileException)

{

//文件操作代码

myFile.WriteString("测试!");

}

else

{

TRACE("Can't open file %s,error=%u\n",strFileTitle,fileException.m_cause);

}

myFile.Close();

支招儿:

1.准确定位文件的路径

操作文件的过程中,经常需要将文本文件放在程序自身的目录中,但是如果仅仅在程序中使用不指定任何路径信息的相对路径,如:

myFile.Open("MyFile.txt",CFile::modeCreate|CFile::typeText|CFile::modeReadWrite);

那么就有可能出现不能正确定位的情况,准确定位文件位置的方法是获得可执行程序自身的绝对路径,如:

TCHAR FilePath[MAX_PATH];

GetModuleFileName(NULL,FilePath,MAX_PATH);

(_tcstchr(FilePath,'\\'))[1]=0;

lstrcat(FilePath,_T("MyFile.txt"));

CStdioFile myFile;

CFileException fileException;

if(myFile.Open(FilePath,CFile::modeCreate|CFile::typeText|CFile::modeReadWrite),&file Exception)

{

//文件操作代码

}

else

{

TRACE("Can't open file %s,error=%u\n",FilePath,fileException.m_cause);

}

myFile.Close();

2.读文本文件指定的一行,并得到文本文件的总行数。

读文本文件指定的一行,并得到文本文件的总行数

要统计文本文件的总行数,可以从头逐行读,直到文件尾,程序:

CStdioFile myFile;

CFileException fileException;

if(myFile.Open("MyFile.txt",CFile::modeCreate|CFile::modeNoTruncate|CFile::typeText|C File::modeReadWrite),&fileException)

{

CString strContent;

int order=1;

while(myFile.ReadString(strContent))

{

if(2==order)

{

AfxMessageBox(strContent);

}

order=order+1;

}

}

else

{

TRACE("Can't open file");

}

myFile.Close();

3]移动文件指针

file.Seek(100,CFile::begin);///从文件头开始往下移动100字节file.Seek(-50,CFile::end);///从文件末尾往上移动50字节

file.Seek(-30,CFile::current);///从当前位置往上移动30字节

file.SeekToBegin();///移到文件头

file.SeekToEnd();///移到文件尾

[4]读写文件

读文件:

char buffer[1000];

file.Read(buffer,1000);

操作系统名词解释教程文件

操作系统名词解释

第1部分操作系统概论名词解释 脱机输入/输出 具体的输入/输出不需要在主计算机上进行的方式也称“脱机输入/输出” 批处理 作业是由操作系统成批地进行处理,操作系统能自动地从输入池读入下一个作业,并予以运行和输出,如此直到整批作业全部处理完毕。 SPOOLING 由操作系统将磁盘模拟为输入/输出设备的处理方式称为SPOOLING(Simultan eous Peripheral Operating On Line),即“并行的外部设备操作联机”,也称“假脱机”。SPOOLING系统是以磁盘为几乎无限巨大的缓冲区来解决低速的I/O 设备与高速的CPU之间的速度匹配问题。 分时系统 为了降低交互式系统的等待时间和运行时间的比率,系统通过多台终端同时向很多用户提供运行环境,这种分时系统就能以合理的成本向用户提供交互式使用计算机的方便。 多路性 一台主机可连接多台终端,多个终端用户可以同时使用计算机,共享系统的硬软件资源。

交互性 用户能与系统进行对话。在一个多步骤作业的运行过程中,用户能通过键盘等设备输入数据或命令,系统获得用户的输入后做出响应,显示执行的状况或结果。 实时操作系统 是一种能在限定的时间内对输入进行快速处理并做出响应的计算机处理系统多处理机系统 一个计算机系统中可具有多个CPU或处理机。一般用微处理器构成阵列系统,其运算速度可以达到上万亿次, 作业 请求计算机完成的一个完整的处理任务称为作业,它可以包括几个程序的相继执行。一个复杂的作业可由多个作业步组成,如编译、运行、打印一个程序的全部工作是一个作业,其中相对独立的每一部分称为作业步。 进程(不支持线程的进程) 程序在一个数据集合上的运行活动,它是系统进行资源分配和调度的一个可并发执行的独立单位。 并发

C语言读写文件操作

C语言读写文件操作 #include #include #include FILE *stream;//, *stream2; FILE *stream2; void main( void ) { int numclosed; char *list; list="这个程序由czw编写"; //试图打开文件data.txt,如果该文件不存在,则自动创建 if( (stream= fopen( "data.txt", "r" )) == NULL ) { printf( "试图打开'data.txt'\n" ); printf( "'data.txt'不存在\n" ); printf( "'data.txt'被创建\n" ); } else printf( "'data.txt'被打开\n" ); //以写入方式打开 if( (stream2 = fopen( "data.txt", "w+" )) == NULL ) printf( "'data.txt'不存在\n" ); else { printf( "'data.txt'成功被打开\n" ); fwrite(list,strlen(list),30,stream2); printf("写入数据成功\n"); } //如果文件data.txt存在,就会打开成功,则stream!=NULL,这时就关闭stream if (stream!=NULL) if( fclose( stream) ) printf( "文件流 stream 被关闭\n" ); //关闭所有打开的文件流,返回关闭的文件流个数 numclosed = _fcloseall( );

操作系统简单文件系统设计及实现

简单文件系统的设计及实现 一、实验目的: 1、用高级语言编写和调试一个简单的文件系统,模拟文件管理的工作过程。从而对各种文件操作命令的实质内容和执行过程有比较深入的了解 2、要求设计一个 n个用户的文件系统,每次用户可保存m个文件,用户在一次运行中只能打开一个文件,对文件必须设置保护措施,且至少有Create、delete、open、close、read、write等命令。 二、实验内容: 1、设计一个10个用户的文件系统,每次用户可保存10个文件,一次运行用户可以打开5个文件。 2、程序采用二级文件目录(即设置主目录[MFD])和用户文件目录(UED)。另外,为打开文件设置了运行文件目录(AFD)。 3、为了便于实现,对文件的读写作了简化,在执行读写命令时,只需改读写指针,并不进行实际的读写操作 4、算法与框图 ?因系统小,文件目录的检索使用了简单的线性搜索。 ?文件保护简单使用了三位保护码:允许读写执行、对应位为 1,对应位为0,则表示不允许读写、执行。 ?程序中使用的主要设计结构如下:主文件目录和用户文件目录( MFD、UFD); 打开文件目录( AFD)(即运行文件目录) 文件系统算法的流程图如下

三、工具/准备工作: 在开始本实验之前,请回顾教科书的相关内容。并做以下准备: 1) 一台运行Windows 2000 Professional或Windows 2000 Server的操作系统的计算机。 2) 计算机中需安装Visual C++ 6.0专业版或企业版 四、实验要求: (1)按照学校关于实验报告格式的要求,编写实验报告(含流程图); (2)实验时按两人一组进行分组,将本组认为效果较好的程序提交检查。

C#中的文件读写操作详解

C#中的文件读写操作详解(摘自互动维客:https://www.sodocs.net/doc/3013641074.html,,更多内容 请访问互动维客!) C#中的文件操作详解 微软的.Net框架为我们提供了基于流的I/O操作方式,这样就大大简化了开发者的工作。因为我们可以对一系列的通用对象进行操作,而不必关心该I/O操作是和本机的文件有关还是和网络中的数据有关。.Net框架主要为我们提供了一个System.IO命名空间,该命名空间基本包含了所有和I/O操作相关的类。 本文将向大家介绍一些基本的文件操作方法,包括对文件系统中的目录和文件的操作,还有就是文件的读写操作等。通过运用System.IO.DirectoryInfo类和System.IO.FileInfo类我们可以轻易的完成与目录和文件相关的操作,而通过运用System.IO.StreamReader类和System.IO.StreamWriter类我们可以方便的完成与文件的读写相关的操作。 命名空间概览 下面的表格显示了System.IO命名空间中最重要的一些类,通过运用这些类我们就能完成基本的文件操作。 表1 类名功能和用途 BinaryReader、BinaryWriter 读写二进制数据 Directory、File、DirectoryInfo以及FileInfo 创建、删除并移动目录和文件,通过属性获取特定目录和文件的相关信息 FileStream 以随机方式访问文件 MemoryStream 访问存储在内存中的数据 StreamReader 、StreamWriter 读写文本数据信息 StringReader、StringWriter 运用字符串缓冲读写文本数据信息 运用DirectoryInfo类和FileInfo类 DirectoryInfo类和FileInfo类的基类都是FileSystemInfo类,这个类是一个抽象类,也就是说你不可以实例化该类,只能通过继承产生其子类并实例化其子类。然而你却可以运用由该类定义的各种属性,下面的表格显示了该类已经定义了的各种属性。 表2 属性功能和用途

matlab文件操作及读txt文件(fopen,fseek,fread,fclose

matlab文件操作及读txt文件(fopen,fseek,fread,fclose) matlab文件操作 文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。MATLAB提供了一系列低层输入输出函数,专门用于文件操作。 1、文件的打开与关闭 1)打开文件 在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为: fid=fopen(文件名,‘打开方式’) 说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:λ‘r’:只读方式打开文件(默认的方式),该文件必须已存在。 ‘r+’:读写方式打开文件,打开后先读后写。该文件必须已存在。λ λ‘w’:打开后写入数据。该文件已存在则更新;不存在则创建。 ‘w+’:读写方式打开文件。先读后写。该文件已存在则更新;不存在则创建。λ λ‘a’:在打开的文件末端添加数据。文件不存在则创建。 λ‘a+’:打开文件后,先读入数据再添加数据。文件不存在则创建。 另外,在这些字符串后添加一个“t”,如‘rt’或‘wt+’,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fopen函数默认的打开方式。

2)关闭文件 文件在进行完读、写等操作后,应及时关闭,以免数据丢失。关闭文件用fclose 函数,调用格式为: sta=fclose(fid) 说明:该函数关闭fid所表示的文件。sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。如果要关闭所有已打开的文件用fclose(‘all’)。 2、二进制文件的读写操作 1)写二进制文件 fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。其调用格式为:COUNT=fwrite(fid,A,precision) 说明:其中COUNT返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precision代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。缺省数据精度为uchar,即无符号字符格式。 例6.8 将一个二进制矩阵存入磁盘文件中。 >> a=[1 2 3 4 5 6 7 8 9]; >> fid=fopen('d:\test.bin','wb') %以二进制数据写入方式打开文件 fid =3 %其值大于0,表示打开成功 >> fwrite(fid,a,'double') ans = 9 %表示写入了9个数据 >> fclose(fid)

操作系统文件管理练习和答案

文件管理练习题 (一)单项选择题 1.操作系统对文件实行统一管理,最基本的是为用户提供( )功能。A.按名存取 B.文件共享 C.文件保护 D.提高文件的存取速度 2.按文件用途分类,编译程序是( )。 A.系统文件 B.库文件 C.用户文件 D.档案文件 3.( )是指将信息加工形成具有保留价值的文件。 A.库文件 B.档案文件 C.系统文件 D.临时文件 4.把一个文件保存在多个卷上称为( )。 A.单文件卷 B.多文件卷 C.多卷文件 D.多卷多文件 5.采取哪种文件存取方式,主要取决于( )。 A.用户的使用要求 B.存储介质的特性C.用户的使用要求和存储介质的特性 D.文件的逻辑结构 6.文件系统的按名存取主要是通过( )实现的。 A.存储空间管理 B.目录管理 C.文件安全性管理 D.文件读写管理 7.文件管理实际上是对( )的管理。 A.主存空间 B.辅助存储空间 C.逻辑地址空间D.物理地址空间 8.如果文件系统中有两个文件重名,不应采用( )结构。 A.一级目录 B.二级目录C.树形目录 D.一级目录和二级目录 9.树形目录中的主文件目录称为( )。 A.父目录 B.子目录 C.根目录 D.用户文件目录 10.绝对路径是从( )开始跟随的一条指向制定文件的路径。 A.用户文件目录 B.根目录C.当前目录 D.父目录 11.逻辑文件可分为流式文件和( )两类。A.索引文件 B.链接文件 C.记录式文件 D.只读文件 12.由一串信息组成,文件内信息不再划分可独立的单位,这是指( )。A.流式文件 B.记录式文件 C.连续文件 D.串联文件 13.记录式文件内可以独立存取的最小单位是由( )组成的。A.字 B.字节 C.数据项D.物理块 14.在随机存储方式中,用户以( )为单位对文件进行存取和检索。 A.字符串 B.数据项C.字节 D.逻辑记录 15.数据库文件的逻辑结构形式是( )。A.链接文件 B.流式文件 C.记录式文件 D.只读文件 16.文件的逻辑记录的大小是( )。 A.恒定的 B.相同的 C.不相同的 D.可相同也可不同 17.能用来唯一标识某个逻辑记录的数据项为记录的( )。 A.主键 B.次键 C.索引D.指针 18.在文件系统中,( )要求逻辑记录顺序与磁盘块顺序一致。A.顺序文件 B.链接文件 C.索引文件 D.串联文件 19.下列文件中,( )的物理结构不便于文件的扩充。A.顺序文件 B.链接文件 C.索引文件 D.多级索引文件 20.( )的物理结构对文件随机存取时必须按指针进行,效率较低。 A.连续文件 B.链接文件 C.索引文件 D.多级索引文件 2l.链接文件解决了顺序结构中存在的问题,它( )。 A.提高了存储空间的利用率 B.适合于随机存取方式 C不适用于顺序存取 D.指针存入主存,速度快

操作系统文件管理_答案

第六部分文件管理 1、文件系统的主要目的就是( )。 A、实现对文件的按名存取 B、实现虚拟存储 C、提供外存的读写速度 D、用于存储系统文件 2、文件系统就是指( )。 A、文件的集合 B、文件的目录集合 C、实现文件管理的一组软件 D、文件、管理文件的软件及数据结构的总体 3、文件管理实际上就是管理( )。 A、主存空间 B、辅助存储空间 C、逻辑地址空间 D、物理地址空间 4、下列文件的物理结构中,不利于文件长度动态增长的文件物理结构就是( )。 A、顺序文件 B、链接文件 C、索引文件 D、系统文件 5、下列描述不就是文件系统功能的就是( )。 A、建立文件目录 B、提供一组文件操作 C、实现对磁盘的驱动调度 D、实现从逻辑文件到物理文件间的转换 6、文件系统在创建一个文件时,为它建立一个( )。 A、文件目录 B、目录文件 C、逻辑结构 D、逻辑空间 7、索引式(随机)文件组织的一个主要优点就是( )。 A、不需要链接指针 B、能实现物理块的动态分配 C、回收实现比较简单 D、用户存取方便 8、面向用户的文件组织机构属于( )。 A、虚拟结构 B、实际结构 C、逻辑结构 D、物理结构 9、按文件用途来分,编译程序就是( )。 A、用户文件 B、档案文件 C、系统文件 D、库文件 10、将信息加工形成具有保留价值的文件就是( )。 A、库文件 B、档案文件 C、系统文件 D、临时文件 11、文件目录的主要作用就是( )。 A、按名存取 B、提高速度 C、节省空间 D、提高外存利用率 12、如果文件系统中有两个文件重名,不应采用( )。 A、一级目录结构 B、树型目录结构 C、二级目录结构 D、A与C 13、文件系统采用树型目录结构后,对于不同用户的文件,其文件名( )。 A、应该相同 B、应该不同 C、可以不同,也可以相同 D、受系统约束 14、文件系统采用二级文件目录可以( )。 A、缩短访问存储器的时间 B、实现文件共享 C、节省内存空间 D、解决不同用户间的文件命名冲突

Matlab的各种数据读取、文件读写等操作汇总

Matlab 的各种数据读取、文件读写等操作汇总 MATLAB 提供了多种方式从磁盘读入文件或将数据输入到工作空间,即读取数据,又叫导入数据;将工作空间的变量存储到磁盘文件中称为存写数据,又叫导出数据。至于选择哪种机制,则根据下面两个因素决定:?用户所执行的 操作是导入数据还是导出数据;?数据的格式为文本格式、 二进制格式还是如HDF 之类的标准格式。将数据导入MATLAB 中最容易的方法就是使用导入数据模板(Import Wizard) ,使用该模板时不需要知道数据的格式,只需指定包含这些数据的文件,然后导入模板会自动处理文件内容。本章重点内容如下:? 文件的打开和关闭? 文本文件的读取?存写ASCII数据?二进制数据的读取? 二进制数据的存写? 使用I/O文件函数进行数据读写?MAT 文件的读写 2.1 文件的打开和关闭2.1.1 文件的打开无论是要读写ASCII 码文件还是二进制文件,都必须先用fopen 函数将其打开,在默认情况下,fopen 以二进制格式打开文件,它的使用语法如下:fopen ('filename', 'mode') 其中filename 表示要读写的文件名称,mode 则表示要对文件进行的处理方式,如下:rt :以只读方式(Reading)打开文件wt:以只写方式(Writing)打开文件at:以追加方式(Appending)打开文件,新内容将从原文件后面续写r+t:以同时读写方式打开文件w+t :以同时读写创建文件,原文件内容被清除

a+t :以同时读和追加(Reading and Appdending) 方式,原文件内容被保留,新内容将从原文件的后面开始At :以读写方式打开或创建文件,适用于对磁带介质文件的操作Wt :以写入方式打 开或创建文件,原文件内容被清除,适用于磁带介质文件的操作fopen 函数有两个返回值,一个是返回一个文件标志(file Identifier) ,它会作为参数被传入其他对文件进行读写操作的命令,通常是一个非负的整数,可用此标识来对此文件进行各种处理。如果返回的文件标识是-1,则代表fopen无法打开文件,其原因可能是文件不存在,或是用户无法打开此文件权限。另一个返回值就是message ,用于返回无法打开文件的原因。为了安全起见,最好在每次使用fopen 函数时,都测试其返回值是否为有效值。下面以脚本m 文件为例来声明文件的打开。例 2-1 %exam1.m[f,message]=fopen('fileexam1', 'r')if f==-1disp (message); % 显示错误信息end 若文件fileexam1 不存在,则显示如下信息。Cannot open file.existence?permissions?memory?... 例2-2 %exam2.m[f,message]=fopen('fileexam2', 'r');if f==-1disp (message); % 显示错误信息else disp(f);end 若文件fileexam2 存在,则返回f值。 2.1.2 文件的关闭一旦完成文件的读写,最好关闭文件,以便对其进行其他操作。这时就可以使用fclose 函数来关闭文件,其适用语法如下:fclose(f) 。其中 f 为打开文件的标志,若fclose 函数返回值为0 ,则表示成功关闭 f 标志的文件;若返回值为-1,

Java流(文件读写操作)

Java流 一、流的分类 ?按数据流动方向 –输入流:只能从中读取字节数据,而不能向其写出数据 –输出流:只能向其写入字节数据,而不能从中读取数据?按照流所处理的数据类型 –字节流:用于处理字节数据。 –字符流:用于处理Unicode字符数据。 ?按照流所处理的源 –节点流:从/向一个特定的IO设备读/写数据的流。(低级流)–处理流:对已存在的流进行连接和封装的流。(高级流)二、缓冲流 ?缓冲流要“套接”在相应的节点流之上,对读写的数据提供了缓冲的功能,提高了读写的效率,同时增加了一些新的方法。 ?J2SDK提供了四种缓存流: –BufferedReader –BufferedWriter –BufferedInputStream s –BufferedOutputStream

?缓冲输入流支持其父类的mark()和reset()方法: –mark()用于“标记”当前位置,就像加入了一个书签,可以使用reset()方法返回这个标记重新读取数据。?BufferedReader提供了readLine()方法用于读取一行字符串(以\r 或\n分隔)。 ?BufferedWriter提供了newLine()用于写入一个行分隔符。 ?对于输出的缓冲流,写出的数据会先在内存中缓存,使用flush()方法将会使内存中的数据立刻写出。 三、类层次 3.1、InputStream类层次

3.2、OutputStream类层次 3.3、Reader类层次

3.4、Writer类层次 四、常用的字符流与字节流的转化 说明: 1.字节流用于读写诸如图像数据之类的原始字节流。 2.字符流用于读写诸如文件数据之类的字符流。 3.低级流能和外设交流。 4.高级流能提高效率。 5.InputStreamReader 是字节流通向字符流的桥梁。 6.OutputStreamWriter 是字符流通向字节流的桥梁。

操作系统文件管理

操作系统文件管理 博文很长,我把一章的内容都总结在这里了。 在现代计算机系统中,要用到大量的程序和数据,因内存容量有限,且不能长期保存,故而平时总是把它们以文件的形式存放在外存中,需要时再随时将它们调入内存。如果由用户直接管理外存上的文件,不仅要求用户熟悉外存特性,了解各种文件的属性,以及它们在外存上的位置,而且在多用户环境下,还必须能保持数据的安全性和一致性。显然,这是用户所不能胜任、也不愿意承担的工作。于是,取而代之的便是在操作系统中又增加了文件管理功能,即构成一个文件系统,负责管理在外存上的文件,并把对文件的存取、共享和保护等手段提供给用户。这不仅方便了用户,保证了文件的安全性,还可有效地提高系统资源的利用率。 1. 有关文件的概念 文件: 具有符号名(文件名)的一组相关元素的有序序列,是一段程序或数据的集合。 文件系统: 是操作系统中统一管理信息资源的一种软件,管理文件的存储、检索、更新,提供安全可靠的共享和保护手段,并且方便用户使用。 文件系统包含文件管理程序(文件与目录的集合)和所管理的全部文件,是用户与外存的接口,系统软件为用户提供统一方法(以数据记录的逻辑单位),访问存储在物理介质上的信息。 有关直接(随机)存取设备的磁盘知识:硬盘的读写原理和磁盘碎片的产生 2. 文件的分类 按性质和用途分类:系统文件、库文件、用户文件。 系统文件:由系统软件构成的文件,只允许用户通过系统调用或系统提供的专用命今来执行它们,不允许对其进行读写和修改。主要有操作系统核心和各种系统应用程序或实用工具程序和数据组成库文件:文件允许用户对其进行读取和执行,但不允许对其进行修改。主要由各种标准子程序库组成 用户文件:是用户通过操作系统保存的用户文件,由文件的所有者或所有者授权的用户才能使

MFC-txt文件读写

文本文件的读写 正确的文本文件读写过程 1.定义文件变量; 2.打开指定的文件; 3.向从文本文件中写入信息; 4.从文本文件中读取信息; 5.关闭文件 1、定义文件变量 定义文件变量格式:CStdioFile 文件变量; 例如,定义一个名称为f1的文件变量,语句如下:CStdioFile f1; 2、打开指定文件 可以直接通过CStdioFile的构造函数来打开磁盘文件,同时可以用标志位指定打开方式(只读、只写、读写等): CStdioFile(LPCTSTR lpszFileName,UINT nOpenFlags); 其中,lpszFileName表示要打开的文件名,可以是相对路径或绝对路径 nOpenFlags设置文件打开方式标志位,可以指定用“|”连接多个标志位。下面是常用的打开标志: CFile::typeText:以文本文件的形式打开文件 CFile::typeBinary:以二进制文件的形式打开文件 CFile::modeCreate:如果指定文件名的文件不存在,则新建文件;如果文件存在并且没有设置CFile::modeNoTruncate标志,则清空文件。 CFile::modeNoTruncate:如果文件存在,不把它的长度删除为0(即不清空文件中的数据)。

:以只读方式打开文件 CFile::modeReadWrite:以可读可写方式打开文件 CFile::modeWrite:以只写方式打开文件 CFile::shareDenyNone:文件打开后,不禁止其他进程对文件的读写操作CFile::shareExclusive:文件打开后,禁止其他进程对文件的读写操作CFile::shareDenyRead:文件打开后,禁止其他进程对文件的读操作

操作系统精髓与设计原理-第12章-文件管理

第12章文件管理 复习题: 12.1、域和记录有什么不同? 答:域(field)是基本数据单位。一个域包含一个值。记录(record)是一组相关的域的集合,它可以看做是应用程序的一个单元。 12.2、文件和数据库有什么不同? 答:文件(file)是一组相似记录的集合,它被用户和应用程序看做是一个实体,并可以通过名字访问。数据库(database)是一组相关的数据集合,它的本质 特征是数据元素间存在着明确的关系,并且可供不同的应用程序使用。 12.3、什么是文件管理系统? 答:文件管理系统是一组系统软件,为使用文件的用户和应用程序提供服务。12.4、选择文件组织时的重要原则是什么? 答:访问快速,易于修改,节约存储空间,维护简单,可靠性。 12.5、列出并简单定义五种文件组织。 答:堆是最简单的文件组织形式。数据按它们到达的顺序被采集,每个记录由一串数据组成。顺序文件是最常用的文件组织形式。在这类文件中,每个记录 都使用一种固定的格式。所有记录都具有相同的长度,并且由相同数目、长度 固定的域按特定的顺序组成。由于每个域的长度和位置已知,因此只需要保存 各个域的值,每个域的域名和长度是该文件结构的属性。索引顺序文件保留 了顺序文件的关键特征:记录按照关键域的顺序组织起来。但它还增加了两个 特征:用于支持随机访问的文件索引和溢出文件。索引提供了快速接近目标记 录的查找能力。溢出文件类似于顺序文件中使用的日志文件,但是溢出文件中 的记录可以根据它前面记录的指针进行定位。索引文件:只能通过索引来访 问记录。其结果是对记录的放置位置不再有限制,只要至少有一个索引的指针 指向这条记录即可。此外,还可以使用长度可变的记录。直接文件或散列 文件:直接文件使用基于关键字的散列。 12.6、为什么在索引顺序文件中查找一个记录的平均搜索时间小于在顺序文件中的平均 搜索时间? 答:在顺序文件中,查找一个记录是按顺序检测每一个记录直到有一个包含符合条件的关键域值的记录被找到。索引顺序文件提供一个执行最小穷举搜索的索引 结构。 12.7、对目录执行的典型操作有哪些? 答:搜索,创建文件,删除文件,显示目录,修改目录。 12.8、路径名和工作目录有什么关系? 答:路径名是由一系列从根目录或主目录向下到各个分支,最后直到该文件的路径 中的目录名和最后到达的文件名组成。工作目录是一个这样的目录,它是含有用 户正在使用的当前目录的树形结构。 12.9、可以授予或拒绝的某个特定用户对某个特定文件的访问权限通常有哪些? 答:无(none),知道(knowledge),执行(execution),读(reading),追加(appending), 更新(updating),改变保护(changing protection),删除(deletion)。 12.10、列出并简单定义三种组块方式。 答:固定组块(fixed blocking):使用固定长度的记录,并且若干条完整的记录被保存在一个块中。在每个块的末尾可能会有一些未使用的空间,称为内部碎片。

C语言文件操作之文件的读写[1]

C语言文件操作之----文件的读写 当文件按指定的工作方式打开以后,就可以执行对文件的读和写。下面按文件的性质分类进行操作。针对文本文件和二进制文件的不同性质,对文本文件来说,可按字符读写或按字符串读写;对二进制文件来说,可进行成块的读写或格式化的读写。 1. 读写字符 C提供fgetc和fputc函数对文本文件进行字符的读写,其函数的原型存于stdio.h头文件中,格式为: int fgetc(FILE *stream) fgetc( )函数从输入流的当前位置返回一个字符,并将文件指针指示器移到下一个字符处,如果已到文件尾,函数返回EOF,此时表示本次操作结束,若读写文件完成,则应关闭文件。 int fputc(int ch,FILE *stream) fputc()函数完成将字符c h的值写入所指定的流文件的当前位置处,并将文件指针后移一位。fputc()函数的返回值是所写入字符的值,出错时返回EOF。 [例8-2] 将存放于磁盘的指定文本文件按读写字符方式逐个地从文件读出,然后再将其显示到屏幕上。采用带参数的main( ),指定的磁盘文件名由命令行方式通过键盘给定。 #i nclude main(argc,argv)

int argc; char *argv[]; { char ch; FILE *fp; int i; if((fp=fopen(argv[1],"r"))==NULL) /* 打开一个由argv[1]所指的文件*/ { printf("not open"); exit(0); } while ((ch=fgetc(fp))!=EOF) /* 从文件读一字符,显示到屏幕*/ putchar(ch); fclose(fp); } 程序是一带参数的main( )函数,要求以命令行方式运行,其参数argc是用于记录输入参数的个数,argv是指针数组,用于存放输入参数的字符串,串的个数由argc描述。假设我们指定读取的文件名为L8-2.c,并且列表文件内容就是源程序。经过编译和连接生成可执行的文件L8-2.exe。运行程序l8-2.exe,输入的命令行方式为:c:\tc>l8-2 L8-2.c

操作系统 实验报告 文件管理

昆明理工大学信息工程与自动化学院学生实验报告 (201 —201 学年第二学期) 课程名称:操作系统开课实验室:年月日 一、实验目的 用C或C++语言编写和调试一个简单的文件系统,模拟文件管理的基本功能。从而 对各种文件操作命令的实质内容和执行过程有比较深入的了解。 二、实验原理及基本技术路线图(方框原理图) 用C模拟实现文件系统的管理;要求设计一个多级目录结构的文件系统,能正确描述文件控制块,采用合理的外存分配方式,能实现基本的目录及文件的操作,包括创建、删除、重命名、复制、移动等功能,并对文件有一定的存取权限控制。 功能设计: Help 显示命令帮助 dir 显示当前目录下的文件和文件夹 exit 退出系统 create [文件名] 创建文本文件 cdir [目录名] 创建文件夹 read [文件名] 读取一个文件最多可同时读取五个 close[文件名] 关闭一个文件 edit [文件名] 编辑一个文件 cd [目录名] 进子目录或者上级目录 attr [文件名] 显示该文件的属性 del [文件名] 删除文件 rename [文件名] 重命名

编辑功能流程图

删除文件流程图创建文件流程图 核心算法: bool Format(void); //格式化 bool install(void); //装载虚拟硬盘的数据 void login(void); /用户登陆

void showMenu(void);//显示功能菜单 bool onAction(void);//用户选择功能并执行 void createFile(string str);//创建文件 bool read(string str);//读取文件 void editFile(string str);//编辑文件 void Delete(string str);//删除一个文件 数据结构: /*---------常变量------*/ const unsigned int BLOCK_SIZE=512; //块长 const unsigned int DATA_BLOCK_NUM=512; //数据块数量 const unsigned int DINODE_START=4*BLOCK_SIZE; //inode起始位置 const unsigned int DINODE_SIZE=512; //inode大小 const unsigned int DINODE_NUM=32; //inode数量 const unsigned int DATASTART=(2+DINODE_NUM)*BLOCK_SIZE; //数据区的开始地址 const unsigned int ACCOUNT_NUM=10; //用户数量 /*inode结构体*/ struct inode{ unsigned short di_tag; /*inode标识*/ unsigned short di_number; /*关联文件数,当为0时表示删除文件,如一个目录至少 包含两个文件:"."和".."*/ unsigned short di_mode; /*存取模式:0为目录,1为文件*/ unsigned short di_userID; /*当前inode所属用户0为根目录ID,一次下去是管理员目

操作系统(文件管理)_答案

第六部分文件管理 1、文件系统的主要目的是()。 A、实现对文件的按名存取 B、实现虚拟存储 C、提供外存的读写速度 D、用于存储系统文件 2、文件系统是指()。 A、文件的集合 B、文件的目录集合 C、实现文件管理的一组软件 D、文件、管理文件的软件及数据结构的总体 3、文件管理实际上是管理()。 A、主存空间 B、辅助存储空间 C、逻辑地址空间 D、物理地址空间 4、下列文件的物理结构中,不利于文件长度动态增长的文件物理结构是()。 A、顺序文件 B、链接文件 C、索引文件 D、系统文件 5、下列描述不是文件系统功能的是()。 A、建立文件目录 B、提供一组文件操作 C、实现对磁盘的驱动调度 D、实现从逻辑文件到物理文件间的转换 6、文件系统在创建一个文件时,为它建立一个()。 A、文件目录 B、目录文件 C、逻辑结构 D、逻辑空间 7、索引式(随机)文件组织的一个主要优点是( )。 A、不需要链接指针 B、能实现物理块的动态分配 C、回收实现比较简单 D、用户存取方便 8、面向用户的文件组织机构属于( )。 A、虚拟结构 B、实际结构 C、逻辑结构 D、物理结构 9、按文件用途来分,编译程序是()。 A、用户文件 B、档案文件 C、系统文件 D、库文件 10、将信息加工形成具有保留价值的文件是()。 A、库文件 B、档案文件 C、系统文件 D、临时文件 11、文件目录的主要作用是()。 A、按名存取 B、提高速度 C、节省空间 D、提高外存利用率 12、如果文件系统中有两个文件重名,不应采用()。 A、一级目录结构 B、树型目录结构 C、二级目录结构 D、A和C 13、文件系统采用树型目录结构后,对于不同用户的文件,其文件名()。 A、应该相同 B、应该不同 C、可以不同,也可以相同 D、受系统约束 14、文件系统采用二级文件目录可以()。 A、缩短访问存储器的时间 B、实现文件共享 C、节省内存空间 D、解决不同用户间的文件命名冲突

(完整版)fortran文件操作

fortran文件操作 From: 《Fortran 95 程序设计》彭国伦 1.文件读取的概念: 读取:“顺序读取”和“直接读取”。 保存:“文本文件”和“二进制文件”。 二进制文件:读取快,因为保存格式和数据在内存中的保存方法一样,同时也节省空间。 ---------------------------------- 2. 文件的操作: ---------------------------------- open的使用:使用open命令打开文件之后,就可以对文件来做输入输出。 example: program ex0901 impicit none open(unit=10, file='hello.txt') ! 打开hello.txt文件, unit指定文件代码,file 指定文件名称。 write(10, *) "hello" !在代码为10的文件中写入hello stop end program ex0901 open中有很多参数可以使用,详细如下: OPEN(UNIT=number, FILE='filename', FORM='...', STATUS='...', ACCESS='...', RECL=length, ERR=label, IOSTAT=iostat, BLANK='...', POSITION='...', ACTION=action, PAD='...', DELIM='...') UNIT='number': number必须是一个正整数,它可以使用变量或是常量来赋值。number最好避开1,2,5,6。因为2,6是默认的输出位置,也就是屏幕。1,5则是默认的输入位置,键盘。 FILE='filename':指定要打开的文件名称,文件名要符合系统规定。windows下不区分大小写,unix下则会区分大小写,最好不要使用中文文件名。 FORM='FORMATTED' OR 'UNFORMATTED' FORM字段只有两个值可以设置: FORM='FORMATTED' “文本文件”格式来保存 FORM='UNFORMATTED' “二进制文件”格式保存 这一栏不给定时候的默认值是: FORM='FORMATTED' STATUS='NEW' or 'OLD' or 'SCRATCH' or 'UNKNOWN' 用来说明打开一个新的文件或已经存在的旧文件。 STATUS='NEW' 打开一个原本不存在的新文件 STATUS='OLD' 打开一个原来已经存在的文件 STATUS='REPLACE' 若文件已经存在则重新创建一次,原来的内容消失;若不存在则会创建新文件。 STATUS='SCRATCH' 表示要打开一个暂存文盘,这个时候可以不需要指定文件名称,也就是FILE这个一栏可以忽略。因为程序本身会自动取一个文件名,至于文件名是啥也不重要,因为暂存盘会在程序结束后自动删除。 STATUS='UNKNOWN' 由各编译器自定义。通常会同REPLACE的效果。 !这一栏不给定时,默认为STATUS='UNKNOWN'。 ACCESS='SEQUENTIAL' or 'DIRECT' 设置读写文件的方法:

计算机操作系统第七章-文件管理资料

第七章文件管理 第一节文件和文件系统 一、文件系统的引入 1、用户在使用计算机的过程中遇到的有关软件资源的两个基本问题: ●产生了新的资源时:怎样长期存放; ●使用系统中现有资源时:怎样检索,如何使用; 解决的方法:把信息以一种单元--文件--的形式存储在磁盘或其他外部存储介质上。文件由操作系统来统一管理,包括:文件的结构,命名,存取,使用,保护,以及实现方法。 2、现代OS中引入文件系统的目的 ●管理系统和用户的软件资源,让用户实现对信息的“按名存取”; ●提供信息的存储、检索、更新、共享和文件保护等一系列文件操作,使用户能方便有效地使用和操作文件; ●文件系统给用户带来的好处是:使用方便、数据安全、接口统一 3、文件系统的功能 ●统一管理文件的存储空间(外存空间),实施存储空间的分配与回收●实现文件的按名存取:名字空间映射存储空间 ●实现文件信息的共享,并提供文件的保护和保密措施 ●向用户提供一个方便使用的接口 ●系统维护及向用户提供有关信息 ●提供与I/O的统一接口 文件系统在操作系统接口中占的比例最大,用户使用操作系统的

感觉在很大程度上取决于对文件系统的使用效果。 二、文件系统中的相关概念 1、数据项:构成文件内容的基本单位 ●基本数据项。这是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,即原子数据,又称为数据元素或字段。它的命名往往与其属性一致。 ●组合数据项。它是由若干个基本数据项组成的,简称组项。 2、记录:是一组相关数据项的集合,用于描述一个对象在某方面的一组属性。 3、关键字:是能唯一标识一个记录的数据项。记录的关键字可以不止一个;关键字可以是一个基本数据项,也可以是一个组合数据项。 4、文件:是指由创建者所定义的、具有文件名的一组相关信息的集合,可分为有结构文件和无结构文件两种。 在有结构的文件中,文件由若干个相关记录组成(是记录的序列);而无结构文件则被看成是一个字符(字节)流。 文件是文件系统中一个最大的数据单位,它描述了一个对象集。 图7-1文件、记录和数据项之间的层次关系

Java 对文件读写操作

Java 对文件进行读写操作的例子很多,让初学者感到十分困惑,我觉得有必要将各种方法进行 一次分析,归类,理清不同方法之间的异同点。 一.在JDK 1.0 中,通常是用InputStream & OutputStream 这两个基类来进行读写操作的。InputStream 中的FileInputStream 类似一个文件句柄,通过它来对文件进行操作,类似的,在 OutputStream 中我们有FileOutputStream 这个对象。 用FileInputStream 来读取数据的常用方法是: FileInputStream fstream = new FileInputStream(args[0]); DataInputStream in = new DataInputStream(fstream); 用in.readLine() 来得到数据,然后用in.close() 关闭输入流。 完整代码见Example 1。 用FileOutputStream 来写入数据的常用方法是: FileOutputStream out out = new FileOutputStream("myfile.txt"); PrintStream p = new PrintStream( out ); 用p.println() 来写入数据,然后用p.close() 关闭输入。 完整代码见Example 2。 二.在JDK 1.1中,支持两个新的对象Reader & Writer,它们只能用来对文本文件进行操作,而 JDK1.1中的InputStream & OutputStream 可以对文本文件或二进制文件进行操作。 用FileReader 来读取文件的常用方法是: FileReader fr = new FileReader("mydata.txt"); BufferedReader br = new BufferedReader(fr); 用br.readLing() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。 完整代码见Example 3。 用FileWriter 来写入文件的常用方法是: FileWriter fw = new FileWriter("mydata.txt"); PrintWriter out = new PrintWriter(fw); 在用out.print 或out.println 来往文件中写入数据,out.print 和out.println的唯一区别是后者写 入数据或会自动开一新行。写完后要记得用out.close() 关闭输出,用fw.close() 关闭文件。完整代码见Example 4。 -------------------------------------------------------------- following is the source code of examples------------------------------------------------------ Example 1:

相关主题