string mydirectory = System.AppDomain.CurrentDomain.BaseDirectory+"cluster_temp/"; if (!Directory.Exists(mydirectory)) { Directory.CreateDirectory(mydirectory); } filepath = mydirectory+Path.GetFileName(txtAccountFile.PostedFile.FileName); txtAccountFile.PostedFile.SaveAs(filepath); StreamReader sr = new StreamReader(filepath, System.Text.Encoding.Default); 到这里就出错了!
将上次调试的时候用完;StreamReader要关闭. 用异常 try { ...; //往服务器存储文件代码. } catch { StreamReader.Close(); StreamReader.Dispose(); }否则,内存中产生空指针。如果已经产生了内存空指针.可以用以下两种方法将它们强制关闭 1. 按: Ctrl+Shift+Esc 打开进程管理器将进程关闭掉 2. 2.执行代码杀死进程 '杀死Excel进程 Dim myproc As System.Diagnostics.Process = New System.Diagnostics.Process Dim proc As Process Dim procs() As Process = Process.GetProcessesByName("进程名称") '得到所有打开的进程 Try For Each proc In procs If Not proc.CloseMainWindow() Then proc.Kill() End If Next Catch End Try
如果NTFS的格式,需要放开权限,FAT32格式的可能不用。
if (!Directory.Exists(mydirectory))
{
Directory.CreateDirectory(mydirectory);
}
filepath = mydirectory+Path.GetFileName(txtAccountFile.PostedFile.FileName);
txtAccountFile.PostedFile.SaveAs(filepath);
StreamReader sr = new StreamReader(filepath, System.Text.Encoding.Default);
到这里就出错了!
用异常
try
{
...; //往服务器存储文件代码.
}
catch
{
StreamReader.Close();
StreamReader.Dispose();
}否则,内存中产生空指针。如果已经产生了内存空指针.可以用以下两种方法将它们强制关闭
1.
按:
Ctrl+Shift+Esc 打开进程管理器将进程关闭掉
2.
2.执行代码杀死进程
'杀死Excel进程
Dim myproc As System.Diagnostics.Process = New System.Diagnostics.Process
Dim proc As Process
Dim procs() As Process = Process.GetProcessesByName("进程名称") '得到所有打开的进程
Try
For Each proc In procs
If Not proc.CloseMainWindow() Then
proc.Kill()
End If
Next
Catch
End Try
好像没有Dispose()的方法吧,只有close(),可是我close以后还是同样的错误!