_16__File文件IO操作

public class FileApp
{
    public static void Main()
    {
        // 在当前目录创建一个文件myfile.txt,对该文件具有读写权限
        FileStream fsMyfile = new FileStream("myfile.txt" , FileMode.Create, FileAccess.ReadWrite);         

        // 创建一个数据流写入器,和打开的文件关联
        StreamWriter swMyfile = new StreamWriter(fsMyfile);

        // 以文本方式写一个文件
        swMyfile.WriteLine("Hello, World");
        swMyfile.WriteLine("abcdefghijklmnopqrstuvwxyz");
        swMyfile.WriteLine("ABCDEFGHIJKLMNOPQRSTUVWXYZ");
        swMyfile.WriteLine("0123456789"); 

        // 冲刷数据(把数据真正写到文件中去)
        // 注释该句试试看,程序将报错
        swMyfile.Flush();

        // 以文本方式读文件
        // 创建一个数据流读入器,和打开的文件关联
        StreamReader srMyfile= new StreamReader(fsMyfile); 

        // 把文件指针重新定位到文件的开始
        srMyfile.BaseStream.Seek(0, SeekOrigin.Begin); 

        // 打印提示信息
        Console.WriteLine("****************以文本方式读文件*********************");

        // 打印文件文本内容
        string s1;
        while((s1 = srMyfile.ReadLine())!=null)
        {
            Console.WriteLine(s1);
        }
        Console.WriteLine();
        // 以文本方式读文件结束

        // 以二进制方式读文件
        // 创建一个二进制数据流读入器,和打开的文件关联
        BinaryReader brMyfile= new BinaryReader (fsMyfile);

        // 把文件指针重新定位到文件的开始
        brMyfile.BaseStream.Seek(0, SeekOrigin.Begin); 

        // 打印提示信息
        Console.WriteLine("****************以二进制方式读文件*********************");

        // 打印文件文本内容
        Byte b1;
        while(brMyfile.PeekChar()>-1)
        {
            b1=brMyfile.ReadByte();
            // 13为"\n",表示回车;10为"\r",表示换行
            if(b1 != 13 && b1 != 10)
            {
                Console.Write("{0}",b1.ToString());
                Console.Write(".");
            }
            else
            {
                Console.WriteLine();
            }
        }
        Console.WriteLine("\n");
        // 以二进制方式读文件结束

        // 关闭以上new的各个对象
        brMyfile.Close();
        swMyfile.Close();
        srMyfile.Close();
        fsMyfile.Close();

        // 读取文件属性
        // 打印提示信息
        Console.WriteLine("****************读取文件属性*********************");

        FileInfo fiMyfile=new FileInfo("myfile.txt");
        Console.WriteLine("文件名          : {0}",fiMyfile.Name);
        Console.WriteLine("文件名(含路径)  : {0}",fiMyfile.FullName);
        Console.WriteLine("文件大小(bytes) : {0}",fiMyfile.Length);
        Console.WriteLine("文件创建时间    : {0}",fiMyfile.CreationTime);
    }
} 
时间: 2024-10-06 07:00:41

_16__File文件IO操作的相关文章

imx6用文件io操作gpio

具体请参考: http://blog.csdn.net/u014213012/article/details/53140781 这里要注意的是: 要让linux支持文件io方式操作gpio,首先驱动必须得支持,也就是说设备树上必须先配置好gpio模式,然后参照以上链接去实现gpio操作 这里举例来说:hud项目中(imx6dl平台),有一个蓝牙电源的使能受GPIO1_IO30的控制,所以我们必须得在设备树上配置这个pad为GPIO模式 1.配置gpio模式 现在需要在设备树上配置GPIO1_IO

Linux学习记录--文件IO操作相关系统编程

文件IO操作相关系统编程 这里主要说两套IO操作接口,分别是: POSIX标准 read|write接口,函数定义在#include<unistd.h> ISO C标准 fread|fwrite接口,函数定义在#include<stdio.h> 有书上说POSIX标准与ISO C标准的区别在于文件读写是否带缓冲区,我则不是很认同,因此POSIX标准下的IO操作也是带缓冲区的,至于这两个标准下的IO性能谁更加好则不一定,因为这和缓冲区的大小,以及用户逻辑有很大关系. POSIX标准

文件IO操作

前言 本文介绍使用java进行简单的文件IO操作. 操作步骤 - 读文件 1. 定义一个Scanner对象 2. 调用该对象的input函数族进行文件读取 (参见下面代码) 3. 关闭输入流 说明:其实和标准输入没什么不同.唯一要注意的区别就是 1 中Scanner构造函数的参数要是路径类型那么才是读文件,否则就是读字符串.(参考下面代码注释部分) 示例代码 1 package test; 2 3 import java.io.IOException; 4 import java.nio.fil

树莓派学习笔记——使用文件IO操作GPIO SysFs方式

0 前言 本文描述如果通过文件IO sysfs方式控制树莓派 GPIO端口.通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO方向,而value可控制GPIO输出或获得GPIO输入. Linux学习可从应用出发,先不纠结Linux驱动编写,先把Linux给玩起来. [相同与不同] 本文和[EasyARM

【UNIX环境高级编程】文件 IO 操作 - 基础函数 open close creat lseek write read 详解

博客地址 : http://blog.csdn.net/shulianghan/article/details/46980271 一. 文件打开关闭操作相关函数介绍 1. open 函数 (1) open 函数简介 open 函数解析 : -- 函数定义 : #include <fcntl.h> int open(const char *path, int oflag, ...); -- 函数作用 : 打开或者创建一个文件; -- 返回值 : 打开文件成功, 返回文件描述符; 如果失败, 返回

标准文件IO详解(一)---文件IO操作和标准文件IO操作的区别

POSIX IO操作称为文件IO,也称为低级文件IO,是操作系统提供的系统调用,属于没有缓冲区的文件操作方式.执行该种操作后,内容会直接被写入到内核中的提供给磁盘的专门缓冲区中,内核会定期的刷新该缓冲区,将内容同步到磁盘当中. ANSI  C IO操作称为标准文件IO,也称为高级文件IO,是C库函数提供的,属于带有缓冲区的文件操作方式.执行该种操作后,内容首先会将内容写入到用户空间的缓冲区中,待缓冲区满或者需要刷新的时候再去调用文件IO,将内容写入到内核的磁盘缓冲区当中. 相比于低级文件IO,高

Java文件IO操作应该抛弃File拥抱Path和Files

Java7中文件IO发生了很大的变化,专门引入了很多新的类: import java.nio.file.DirectoryStream;import java.nio.file.FileSystem;import java.nio.file.FileSystems;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import java.nio.file.attribute.FileAt

常用的文件IO操作

学习内容:  1)open函数的flag 2)linux系统如何管理文件 3)lseek详解 4)dup和dup2函数介绍 5)标准IO库介绍 如何查man手册:man 1 xx查linux shell命令,man 2 xxx查API, man 3 xxx查库函数 1.open函数的flag 大家有没有发现open函数有两个如下, int open(const char *pathname, int flags); int open(const char *pathname, int flags

【Linux系统编程】文件IO操作

文件描述符在 Linux 的世界里,一切设备皆文件.我们可以系统调用中 I/O 的函数(I:input,输入:O:output,输出),对文件进行相应的操作(?open().close().write() .read() 等). 打开现存文件或新建文件时,系统(内核)会返回一个文件描述符,文件描述符用来指定已打开的文件.这个文件描述符相当于这个已打开文件的标号,文件描述符是非负整数,是文件的标识,操作这个文件描述符相当于操作这个描述符所指定的文件. 程序运行起来后(每个进程)都有一张文件描述符的