DAT文件是什么啊?

DAT文件是什么啊?,第1张

DAT文件,可以按照扩展名来看就是DATA的意思,即数据文件,这类文件并没有进行绝对化的定义。

.dat并不是一种标准文件。许多文件都使用这个扩展名,但文件含义不同。而许多数据分析软件也用这个扩展名保存数据。所以这要看具体的软件情况来定。

例如VCD光盘中的dat文件就可以用一般的视频播放器打开,而QQ的dat文件中则存储了用户信息,是不能使用常规方式打开的,只有QQ程序可以访问。还有一些其他程序都有自己对dat文件的定义,要通过产生它的程序来打开与之相关联的dat文件。

扩展资料

dat格式掘伏塌用的播放器类型

1、暴风影音

2、QQ影判圆音

3、KMPlayer

4、绚彩魅影

5、GOM Media Player 2.1.9.3754 简体中文版

说明:

如果无法直接打开dat文件,那么可以将dat文件进行格式转换,比如转成mp3、mp4、vob、mpeg等其他媒体形厅陆式的文件,使用工具如dat转mp3转换器,WinAVI Video Converter 7.1等。

使汪裤用数据库或者文件存储都只是一种方式而已,各有各的好处,根据需求来选择就好了。

生成.dat文件,实际上就是运用C#的序列化方法纳仔 *** 作而已。

给你一个例子,就是保存C#的对象成为.dat文件,注意此处保存的是一个Dictionary对象:

public static Dictionary<string, CropInfo>dic_FarmCropsInfo = new Dictionary<string, CropInfo>() //需要保存的对象

1、读取文件信息

/洞陵汪// <summary>

/// 获取作物信息

/// </summary>

public static void GetFarmCropsInfo()

{

try

{

string cropinfo_fn = AppDomain.CurrentDomain.BaseDirectory + "CropsInfo.dat"

using (System.IO.FileStream fs = new System.IO.FileStream(cropinfo_fn, System.IO.FileMode.Open))

{

BinaryFormatter bf = new BinaryFormatter()

dic_FarmCropsInfo = bf.Deserialize(fs) as Dictionary<string, CropInfo>

}

}

catch { }

}

2、存储文件信息

/// <summary>

/// 存储作物信息

/// </summary>

public static void SetFarmCropsInfo()

{

try

{

string cropinfo_fn = AppDomain.CurrentDomain.BaseDirectory + "CropsInfo.dat"

using (System.IO.FileStream fs = new System.IO.FileStream(cropinfo_fn, System.IO.FileMode.OpenOrCreate))

{

BinaryFormatter bf = new BinaryFormatter()

bf.Serialize(fs, dic_FarmCropsInfo)

}

}

catch { }

}

你好 这个问问题我来回答你

首先你已经知道了你要做的是把文本内容写亮拦到dat文件中

但是你不知道如何把一组数据写入 并乱键侍读出 和编辑

你首先需要一个数据结构 存放这一组数据 我们写如下一个类,并声明为可序列化,之所以把他写为一个类,是因为我们可以在里面扩展更多的内容,在这里我们只以这个string的列表为成员

[Serializable]

public class Mystring

{

public Mystring(){}

Public Ilist<stirng>Mystr=new List<string>()//用来存放数据

}

然后我们要有一个序列化 *** 作的类

在这里哗吵 我把我常用的两个类奉上

1:

序列化基类

public abstract class Serializer<T>

{

string filePath

public string FilePath

{

get

set

}

public Serializer(string filePath)

{

this.filePath = filePath

}

public bool Serialize(T serializeObj)

{

using (Stream st = new FileStream(filePath, FileMode.Create, FileAccess.Write))

{

return S(st, serializeObj)

}

}

protected abstract bool S(Stream st, T serializeObj)

public T Deserialize()

{

using (Stream st = new FileStream(filePath, FileMode.Open, FileAccess.Read))

{

return D(st)

}

}

protected abstract T D(Stream st)

}

2, 继承上面基类的实际 *** 作类

class SerializerBinary<T>: Serializer<T>

{ public SerializerBinary(string filePath) :

base(filePath)

protected override bool S(Stream st, T serializeObj)

{

BinaryFormatter bf = new BinaryFormatter()

try

{

bf.Serialize(st, serializeObj)

return true

}

catch

}

protected override T D(Stream st)

{

BinaryFormatter bf = new BinaryFormatter()

return (T)bf.Deserialize(st)

}

}

这样 我们就有了 *** 作的方法

具体 *** 作步骤如下

1 把所有文本框的内容写如 这个Mystring类的Mystr中

2 将Mystring类序列化到文件中

Serializer<Mystring>MySave = new SerializerBinary<Mystring>(path)//这里path是你的dat文件的全路径带文件名比如“d://c.dat”

if (MySave.Serialize(this.MyOledbDatasList))

MessageBox.Show("文件保存成功", " *** 作提示", MessageBoxButtons.OK, MessageBoxIcon.Information)

3 读取这个含有我们要的字符串数组的类

Serializer<Mystring>MyOpen = new SerializerBinary<Mystring>(path)//path文件的路径

Mystring MyStr = new Mystring()

try

{

MyStr = MyOpen.Deserialize()//这里就取道了

LoadFile.Dispose()

}

catch

{

MessageBox.Show("你打开的不是有效的文件!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error)

}

4 我门既然取道了还原为Mystring 的数组 那么你可以从里面去到你想要的任一个字符串,并且编辑他

5,重新调用步骤2 将编辑后的Mystring写如文件即可

希望我的回答对你有帮助。。。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12320035.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存