要读取一个txt文件,首先要使用文件打开函数fopen()。
fopen函数用来打开一个文件,其调用的一般形式为: 文件指针名=fopen(文件名,使用文件方式) 其中,“文件指针名”必须是被说明为FILE 类型的指针变量,“文件名”是被打开文件的文件名。 “使用文件方式”是指文件的类型和 *** 作要求。“文件名”是字符串常量或字符串数组。
其次,使用文件读写函数读取文件。
在C语言中提供了多种文件读写的函数:
·字符读写函数 :fgetc和fputc
·字符串读写函数:fgets和fputs
·数据块读写函数:freed和fwrite
·格式化读写函数:fscanf和fprinf
最后,在文件读取结束要使用文件关闭函数fclose()让衫闭关闭文件。
下面以格式化读写函数fscanf和fprintf为例,实现对文件A.txt(各坦裂项信息以空格分割)的读取,并将它的信息以新的格式(用制表符分割各项信息)写入B.txt,实现对A.txt的处理。
Context提供了领个方法来打开该应用程序的数据文件夹中的文件I/O流,具体如下:
FileInputStream openFileInput(String name)
打开应用程序的数据文件夹下的name文件对应的数据流
FileOutputSream openFileOutput(String name, int mode)
打开应用程序数据文件夹下的name文件对应的输出仿漏模流,mode指定文件打开的模式,该模式主要有一下4种:
①MODE_PRIVATE(该文件只能被当前应用程序读写)
②MODE_APPEND(以追加方式打开,可以在文件中追加内容)
③MODE_WORLD_READABLE(该文件内容可以被其他应用程序读取)
④MODE_WORLD_WRITEABLE(该文件内容可以被其他应用程序度,写)
读取文件:
假设name为要打开的.文搜孝件名字
FileInputStream f = openFileInput(name)byte[] buf = new byte[1024]int hasRead = 0StringBuilder sb = new StringBuilder("")while((hasRead = f.read(buf)>0)){ sb.append(new String(buf, 0 , hasRead))}f.close()
获取文件内容字符串:
sb.toString()
写文件:
假设要写入的字符串为content FileOutputStream f = openFileOutput(name,MODE_APPEND)PrintStream temp = new PrintStream(f)temp.println(content)temp.close()
注:应用程序的数据文件默认保存在/data/datea/files目录下,使用openFileInput和openFileOutput方法来打开文件输入流,输出流时,打开的都是应用备缓程序的数据文件夹里的文件,也就是说是在手机内存中的文件,而不是SD卡中的文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)