闲来无事看到一段代码:using (FileStream fileStream = new FileStream(string, FileMode.Open, FileAccess.Read, FileShare.Read))
{
XXXXXXX try
{
}
catch
{
}
XXXXXXXXXXXXXXXXXXX
}
不知道这是什么语法现象,什么含义呢?
{
XXXXXXX try
{
}
catch
{
}
XXXXXXXXXXXXXXXXXXX
}
不知道这是什么语法现象,什么含义呢?
filestream是类库system.io里的,所以用using引用
实现的是: 用filestream将读取文件信息到文件流里
using 语句
保证fileStream在作用域结束后被disposed. 因为文件是非托管资源,需要用这条语句保证它能及时被回收.
具体的可以查下msdn.
FileStream是文件流
using代码块是保证及时释放资源
我想问的是,这里使用了 using 是什么目的,看上面几位热心大侠的回答.
应该是用来做资源释放时候的一个标示.那如果没有使用using,而直接写成
FileStream fileStream = new FileStream(string, FileMode.Open, FileAccess.Read, FileShare.Read)
XXXXXXX try
. {
}
catch
{
}
XXXXXXXXXXXXXXXXXXX 会有什么风险吗?或者是其他不合适的地方?
谢谢~~~~
using代码块是保证及时释放资源没风险,只是及时回收对性能有好处比如你有了垃圾就丢了 不把垃圾放在内存里(因为文件是非托管代码)
接分 谢谢
fileStream没有关闭,你最后肯定要关闭吧,fileStream.Close,如果在关闭之前就抛出异常,那这个文件就一直没关闭了,所以一般写成try
FileStream fileStream = new FileStream(string, FileMode.Open, FileAccess.Read, FileShare.Read)
finally
fileStream.Close
using就是简化上面的方法,可以不用写finally和 Close了,自动给你写了
本句filestream对象是用于读取文件信息用的。