Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.NET与FileStream的问题_.net_Vb.net_File_File Io - Fatal编程技术网

.NET与FileStream的问题

.NET与FileStream的问题,.net,vb.net,file,file-io,.net,Vb.net,File,File Io,我正在尝试从具有以下行的文件创建FileStream: Dim fStream As FileStream = New FileStream(destinationPath, FileMode.Create, FileAccess.Read) 当我这样做时,我会得到一个错误 Combining FileMode: Create with FileAccess: Read is invalid. 有人能帮我吗 编辑:我试图读取文件,而不是创建文件。如果您试图创建(可能写入)文件,则使用File

我正在尝试从具有以下行的文件创建
FileStream

Dim fStream As FileStream = New FileStream(destinationPath, FileMode.Create, FileAccess.Read)
当我这样做时,我会得到一个错误

Combining FileMode: Create with FileAccess: Read is invalid.
有人能帮我吗


编辑:我试图读取文件,而不是创建文件。

如果您试图创建(可能写入)文件,则使用
FileAccess.write
FileAccess.ReadWrite
更有意义,因为
create
read
相矛盾。尝试
newfilestream(destinationPath,FileMode.Create,FileAccess.ReadWrite)
Read
access不允许您对文件进行任何修改。创建文件视为修改。您需要使用
Write
ReadWrite
访问

编辑:当然,还有第二种情况:


如果试图从已存在的文件中读取,请不要使用
FileMode.Create
。相反,请使用
文件模式。打开

错误消息会指出问题所在:当您创建新文件时,您需要向其中写入,而不是从中读取。创建新文件时,文件中没有任何内容可读取


将第三个参数更改为
FileAccess.Write

,指定要创建位于
destinationPath
的文件(如果该文件已存在,则重新创建),从而为您提供一个新的空文件。使用新文件时,没有要读取的数据。您应该传递一个包含
Write
标志的值。

如果您只能读取文件,如何创建文件?您需要指定您还具有对该文件的写访问权限。尝试:


好的,很抱歉不清楚,但正如前面提到的,我的目的是阅读文件。正确的做法是:

Dim fStream As FileStream = New FileStream(destinationPath, FileMode.Open, FileAccess.Read)
Dim fStream As FileStream = New FileStream(destinationPath, FileMode.Open, FileAccess.Read)