文件关闭的问题,不知道哪个需要关闭啊!

问题描述

比较下面两个按钮方法:第一个成功实现,第二个第一次单击没有返回,第二次点击显示文件“E:_WebmyManageadminfrm_top.htm”正由另一进程使用,因此该进程无法访问该文件。protectedvoidButton1_Click(objectsender,EventArgse){System.IO.StreamWritersw1=newSystem.IO.StreamWriter(Server.MapPath("frm_left.htm"),false,System.Text.Encoding.GetEncoding("gb2312"));Server.Execute("frm_left.aspx",sw1);sw1.Close();}protectedvoidButton2_Click(objectsender,EventArgse){System.IO.StreamWritersw1=newSystem.IO.StreamWriter(Server.MapPath("frm_top.htm"),false,System.Text.Encoding.GetEncoding("gb2312"));Server.Execute("frm_top.aspx",sw1);sw1.Close();}

frm_left.aspx和frm_top.aspx略有区别,frm_top.aspx中用到了模板化usingNVelocity;usingNVelocity.Context;usingSystem;usingSystem.Web;publicpartialclassadmin_top:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){IContextcontext=newVelocityContext();context.Put("secondBtn","首页");context.Put("btnAct","window.open('../')");context.Put("btnImg","images/icon/search.gif");Response.Write(FastTemplate.Merge(context,"VM_lqb/top.vm"));Response.End();Page.Dispose();}}

publicclassFastTemplate{publicFastTemplate(){}publicstaticstringMerge(NVelocity.Context.IContextcontext,string模板文件名){VelocityEnginevelocity=newVelocityEngine();ExtendedPropertiesprops=newExtendedProperties();props.AddProperty(RuntimeConstants.RESOURCE_LOADER,"file");props.AddProperty(RuntimeConstants.FILE_RESOURCE_LOADER_PATH,HttpContext.Current.Server.MapPath("./"));props.AddProperty(RuntimeConstants.INPUT_ENCODING,"gb2312");props.AddProperty(RuntimeConstants.OUTPUT_ENCODING,"gb2312");velocity.Init(props);Templatetemp=velocity.GetTemplate(模板文件名);StringWriterwriter=newStringWriter();temp.Merge(context,writer);Strings=writer.ToString();writer.Close();writer.Dispose();returns;}}

解决方案

解决方案二:
System.IO.FileStream_FileStream=newSystem.IO.FileStream(Server.MapPath("frm_left.htm"),System.IO.FileMode.Open,System.IO.FileAccess.ReadWrite,System.IO.FileShare.ReadWrite);byte[]_ReadByte=newbyte[_FileStream.Length];_FileStream.Read(_ReadByte,0,_ReadByte.Length);_FileStream.Close();

设置System.IO.FileShare.ReadWriteB/S下可能是你在打开还没有关闭文件引起的.
解决方案三:
帮顶。。要不你试试,第一个按钮事件中System.IO.StreamWriter的对象sw1第二个按钮事件中System.IO.StreamWriter的对象改成sw2
解决方案四:
问题关键在于Server.Execute("frm_top.aspx",sw1);我尝试用下面的方法获取frm_top.aspx即可成功,各位能否给我讲下Server方法有什么限制?为什么获取不到?System.Net.WebClientwc=newSystem.Net.WebClient();System.IO.Streams=wc.OpenRead(Request.Url.ToString().Replace("page_static.aspx","frm_top.aspx"));……
解决方案五:
文件操作和数据库操作建议必须加上trycatchfinally语法。因为这些访问很很容易出错。
解决方案六:
用using打开文件,处理后马上自动关闭

时间: 2024-12-12 16:43:11

文件关闭的问题,不知道哪个需要关闭啊!的相关文章

交叉编译-linux下gtk的库文件有很多,不知道哪一个是我用的

问题描述 linux下gtk的库文件有很多,不知道哪一个是我用的 我做的应用运行在手持终端,基于一个精简的Linux系统.用的gcc-arm-linux交叉编译工具 现在我就想搞清楚头文件和库文件在哪里,makefile脚本很复杂而且有很多文件,完全看不懂,只能凭目录名称去找...头文件在/usr/local/arm-linux/include/gtk/下库文件用locate libgtk查找有一大堆,目测有关系的有下面这些:/usr/local/arm-linux/arm-linux/lib/

android webview-加载带声音的H5 声音不自动播放 音频是个背景音乐可以关闭可以打开,点击关闭在打开就能播放什么原因

问题描述 加载带声音的H5 声音不自动播放 音频是个背景音乐可以关闭可以打开,点击关闭在打开就能播放什么原因 加载带声音的H5 声音不自动播放 音频是个背景音乐可以关闭可以打开,点击关闭在打开就能播放,什么原因有的图片也有些模糊 解决方案 http://www.html5cn.com.cn/news/course/2012-10-06/139.html

阿里星球定时关闭功能在哪?定时关闭使用方法

1.在手机中打开阿里星球 然后如图所示我们点击"-"符号,点开后会有个弹窗选项,进入设置选项 2.在弹出的界面中我们点击"设置"-"睡眠定时"效果如下所示 3.在睡眠定时选项中,你可以开启定时或者关闭定时,还可以设置关闭时间 好了这样设置好之后你会发现以后在你设置好的时间之后就会自动关闭了哦.

magento -- 修改文件来手动控制编译的开启和关闭

之前遇到一个情况,在编译开启的状态下安装了一个新插件,结果前后台都不能访问了,这时想去找找是哪里在控制编译的开启和关闭,先把编译关了来保证系统不报错.按照一般的习惯后台数据或配置都是存在于数据库,但找遍数据库也没发现跟编译有关的数据.因为编译的结果是在/includes/src目录下生产很多文件,去includes文件夹时发现了config.php文件,从命名就可以看出这是一个做配置的文件,经过拿一个本地测试项目做实验,证实了编译的开启与否并不是存在数据库,而是在修改config.php的内容.

Win7打开文件夹出现的提示声音如何关闭

  一.先在Win7桌面左下角处的"开始"菜单中,打开"控制面板",然后在进入到控制面板界面中,选择小图标为查看方式,再选择"声音"项. 二.打开了声音对话框,在Win7系统窗口中切换至"声音"选项卡中,在声音方案处,点击右侧的倒三角号,即可从下拉菜单中选择你要设置的项.例如你不希望每次打开文件夹时都会有系统声音,可以在这边设置为"无声".再点击"确定"按钮完成上面的设置.

tomcat shutdown关闭应用,cmd窗口不能关闭问题?

问题描述 最近在做一个应用升级的项目,由于该应用部署与全省各个地市,因此升级的实现是由中心端发指令给代理端,由代理端处理升级操作(包括数据库的升级,普通文件的升级[应用的页面文件],配置文件的升级,工作流升级等等),代理升级完成后向中心端上报升级结果.在处理升级前需要先将应用服务器停掉(以tomcat为例),升级完成后再启动应用.目前我使用的方法是通过java的调process类exec方法来执行tomcat的startup.bat和shutdown.bat脚本实现应用启停的.当调用startu

小米平板3怎么关闭自动更新 小米平板3关闭自动更新教程

很多用户都想要关闭小米平板3的自动更新,不过对于相关的操作却不是很熟悉,小米平板3怎么关闭自动更新?小编带来了小米平板3关闭自动更新教程,有需要的用户都来看看吧! 小米平板3关闭自动更新教程: 1.root之后用钛备份把系统升级冻结了,想恢复解冻就行. 2.root后用root explorer之类的软件,将/system/app/updater.apk备份到SD卡或内置存储后删除,想恢复就把备份的文件再拷贝回来就行. 以上就是小编整理的小米平板3关闭自动更新教程解析了,小伙伴们可以用上面的方法

安卓广播关闭应用异常-安卓用广播关闭别的应用

问题描述 安卓用广播关闭别的应用 我现在要实现一个功能,一个应用A,打开应用B以后,B发送一个广播,A接收到这个广播以后关闭程序,现在自己写的A应用报Runtime异常,求解决..谢谢了 解决方案 楼主 我是我积累的android学习的资料 你可以看看有没有需要的http://download.csdn.net/album/detail/1121

mfc opencv窗口关闭-MFC结合opencv,窗口关闭问题

问题描述 MFC结合opencv,窗口关闭问题 各位大神好!小弟在做一个MFC界面,用一个Button,点击调用cvNamedWindow("detect", CV_WINDOW_AUTOSIZE);弹出一个opencv创建的窗口,在cvShowImage.cvDestroyWindow("detect")后,单击MFC右上角的"X"号,可以关闭整个MFC界面,但是无法关闭opencv创建的那个窗口.现在不知如何解决,望大神支招,先谢过了! 解决