浅谈“文件与文件流”的区别

这篇具有很好参考价值的文章主要介绍了浅谈“文件与文件流”的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文件与文件流的区别(自己的话):

       在软件开发过程中,我们常常把文件的“读写操作”,与“创造、移动、复制、删除操作”区分开来。其中,文件的“读写操作”是由System.IO命名空间下fileStream类控制的。而文件的“创造、移动、复制、删除操作”是由file类控制的。

       当然了,还有很多和这两个类功能相似的类。这里笔者不过多介绍,本文仅仅是做一次对文件操作的科普。熟悉了这两个类后,再去看其他功能类似的类就会轻松很多了。

 

文件:file类简单介绍

       File类支持对文件的基本操作,它包括用于创建、复制、删除、移动和打开文件的静态方法。

 创建文件:

//创建文件
File.Create(str);    //str是string类型变量,其值为文件的路径,包括文件名,如str="D:\text.txt"

判断文件存在:

//判断文件存在
File.Exists(str);    //str为string变量,为文件路径,包括文件名,如str="D:\text.txt"

文件流:fileStream类简单介绍

输入流与输出流

输入流:可以简单把输入流理解为“向文件内要写入的数据”,如我想向文本文档写入“HELLO”,那么这个字符串就是输入流。

输出流:同理,可以把输出流理解为“从文件内读取的数据”,如一个文本文档内有数据“Hello,World”,读取这个文件,那么这个“Hello World”就是输出流。

利用fileStream类读取数据

//以只读方式创建FileStream对象
FileStream fs=new FileStream(@"D:\text.txt",FileMode.OpenOrCreate);
//得到文件的长度
long length = fs.Length;
//创建一个字节数组,大小是文件的长度
byte[] Buffers=new byte[length];
//将文件流中的数据读取到字节数组中
fs.Read(Buffers,0,Buffers.Length);
//将字节数组中的二进制编译为字符串
string content = Encoding.Default.GetString(Buffers,0,Buffers.Length);
//将字符串在提示框中输出
MessageBox.show(content);
//关闭文件流
fs.Close();

利用fileStream类写入数

//以只写方式创建FileStream对象
FileStream fs=new FileStream(@"D:\text.txt",FileMode.OpenOrCreate,FileAccess.Write);
//创建一个字节数组
byte[] Buffers;
//获取传入文件的字符串
string str="Hello,World";
//设置一个字节数组大小
Buffers =new byte[str.length * 2];
//将字符串转成二进制数据存入字节数组
Encoding.Default.GetBytes(str,0,str.length,Buffers,0);
//将字节数组写入文件
fs.Write(Buffers,0,Buffers.length);
//关闭文件流
fs.Close();

 文章来源地址https://www.toymoban.com/news/detail-704263.html

到了这里,关于浅谈“文件与文件流”的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Java]_[初级]_[使用SAX流的方式写入XML文件]

    文件的写入目前没有发现可以增量写入的,只能是完全重新写入。对于大量数据需要写入 XML 文件,还是和读 XML 文件一样,不需要生成 DOM 模型能节省不少的内存和指令。 在 java 标准库里,也是有相关的SAX类来写入数据流, StreamResult(OutputStream) 负责把数据写入输出流。 之后

    2024年02月10日
    浏览(56)
  • 使用FFmpeg将本地文件通过UDP推流的音视频

    推流是指将音视频数据通过网络传输到指定的目标端,而FFmpeg是一个功能强大的跨平台多媒体处理工具,可以用于音视频编解码、转码、处理等操作。本文将介绍如何使用FFmpeg将本地文件通过UDP协议进行推流,实现音视频数据的传输。 首先,需要确保已经安装了FFmpeg工具。如

    2024年03月19日
    浏览(69)
  • Java pcm/wav文件转mp3(流的方式)

    pcm与wav文件是无损音质,几分钟的文件就高达20几M,要求将pcm/wav文件转mp3文件,既完成文件的压缩,又不影响使用。 网上找了很多例子,大都是Lame与FFmpeg,但前者的例子总是DOS命令控制lame.exe,后者好些,但是需要使用音频文件的绝对路径,这就需要频繁创建临时文件,不

    2024年02月14日
    浏览(46)
  • 一文浅谈:&和&&的区别

    当我们在Java中使用逻辑运算符时,经常会用到两个符号: 和 。这两个符号在表达式中的作用非常重要,但是很多人容易混淆它们的使用,因此我们需要了解它们之间的区别。 和 都可以用于逻辑运算,例 这两个例子都会输出 \\\"a和b都大于0\\\",因为它们都满足了逻辑运算的要求

    2024年02月08日
    浏览(30)
  • 【Java基础教程】(四十四)IO篇 · 上:File类、字节流与字符流,分析字节输出流、字节输入流、字符输出流和字符输入流的区别~

    掌握 java.io包中类的继承关系 ; 掌握 File类的使用,并且可以通过File类进行文件的创建、删除以及文件夹的列表等操作; 掌握字节流或字符流操作文件内容,字节流与字符流的区别; 在 java.io 包中,如果要进行文件自身的操作 (例如:创建、删除等), 只能依靠 java.io.File 类完

    2024年02月15日
    浏览(35)
  • 一种使用wireshark快速分析抓包文件amr音频流的思路方法

    解决方案: 1. 使用wireshark过滤amr,并导出原始数据文件; 2.使用ue的二进制编辑模式,编辑该文件,添加amr头,6个字节数据“#!AMR”,字节数据为 23 21 41 4D 52 0A 3.修正格式:通过抓包发现,amr的负载中,总是多一个字节用于描述rtp流信息,这个字节被导出到了原始数据中,每一

    2024年02月06日
    浏览(49)
  • 浅谈Zookeeper、Eureka、Nacos概念及区别

    一、概念 ZooKeeper是一个开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集,提供Java和C的接口。

    2024年02月15日
    浏览(40)
  • 浅谈postman和jmeter的用法与区别

    前阶段做了一个小调查,发现软件测试行业做功能测试和接口测试的人相对比较多。在测试工作中,有高手,自然也会有小白,但有一点我们无法否认,就是每一个高手都是从小白开始的,所以今天我们就来谈谈一大部分人在做的接口测试,小白变高手也许你只差这一次深入

    2024年01月24日
    浏览(45)
  • 浅谈QMap中erase与remove的区别

    在实践中发现erase删除元素之后,其迭代器自动指向下一个元素,而remove删除元素之后迭代器不会自动指向下一个元素。 使用erase删除元素 删除示例可以看之前的记录。 使用remove删除元素 代码讲解 上述代码其功能是在mapMsg2中找与MsgMap1中相同的元素值(value()),从mapMsg2将相

    2024年02月07日
    浏览(32)
  • 浅谈和辨析数据资源、数据资产、数据要素的区别

    从商业决策到科学研究,从个性化服务到社会治理,数据都在发挥着越来越重要的作用。然而,对于数据资源、数据资产和数据要素这三个概念,人们往往容易混淆。为了更好地理解和利用数据,有必要对这三个概念进行深入的辨析。下面亿信华辰将逐一探讨这三个概念的定

    2024年02月01日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包