精华内容
下载资源
问答
  • C#打开文件之获取当前工作路径Debug 在C#编写程序时,如果需要获取当前程序根目录,通常使用System.Environment.CurrentDirectory语句来获取。并且在程序运行过程中,该语句获取的路径不变,始终是程序启动目录,...

    C#打开文件之获取当前工作路径Debug


    在C#编写程序时,如果需要获取当前程序根目录,通常使用 System.Environment.CurrentDirectory语句来获取。并且在程序运行过程中,该语句获取的路径不变,始终是程序启动目录,一般为程序的安装根目录。
    但是在实际开发过程中发现,程序在Windows7系统上可以正常运行,但在WindowsXP系统,如果使用了OpenFileDialog对象打开某一文件后,程序使用System.Environment.CurrentDirectory获取的路径会发生变化,变为打开文件的路径,而不再是程序启动目录,以至于会引发一些莫名其妙的错误,导致程序崩溃。
    目前发现该bug只存在于WindowsXP系统中,而在Windows7系统程序可以正常运行。在这里记录下来,避免后面遇到类似bug不知道怎么解决。

    展开全文
  • C#执行sql文件 运行sql文件

    热门讨论 2010-08-09 18:34:37
    C#执行.sql文件 自动运行sql文件 已经成功使用此方法 做项目时已经使用过
  • 例如:要打开"D:\Documents\My Documents\Universal"文件夹并选中"Universal.ini"文件,我们要用到System.Diagnostics.Process.Start("Explorer.exe", @"/select,D:\Documents\My Documents\Universal\Universal....

    例如:要打开"D:\Documents\My Documents\Universal"文件夹并选中"Universal.ini"文件,我们要用到


    System.Diagnostics.Process.Start("Explorer.exe", @"/select,D:\Documents\My Documents\Universal\Universal.ini");

    注意标红部分(/select),如果语句没有加入/select的话,系统将会打开Universal.ini文件,而不是打开Universal文件夹并选中Universal.ini文件

    要选中某个文件夹也是同样的方法。


    展开全文
  • <C#>_在窗体中打开文件

    千次阅读 2017-07-19 19:27:23
    最近在做一个项目,需要打开在软件中点击按钮,从而打开一个文件,新手学习C#,从此把之后总结的C#的点点知识都总结起来,虽然不是主要做C#上位机的开发,但是多学点东西总是没错,往后会不定期一点点记录自己所学到...

            最近在做一个项目,需要打开在软件中点击按钮,从而打开一个文件,新手学习C#,从此把之后总结的C#的点点知识都总结起来,虽然不是主要做C#上位机的开发,但是多学点东西总是没错,往后会不定期一点点记录自己所学到的知识,希望以后的自己慢慢强大起来。

    先来说说现在做的这个界面,如下图所示:


    这个界面中,点击【打开】按钮可以选择要打开的文件,如下图所示:

    这里涉及一个控件的知识了,就是OpenFileDialog。

    选中打开的文件后,实现的功能是把选择的文件的名字填入【文件名】中:


    实现的代码如下:

    public void openfile(int n)
            {
                OpenFileDialog openfile = new OpenFileDialog();


                openfile.Filter = "*.cs | *.cs";//设置文件后缀
                if (openfile.ShowDialog() == DialogResult.OK)
                {
                    string filename = openfile.FileName;
                    dic1.Add(n, filename);
                    fileArr[n].Text = filename.Substring(filename.LastIndexOf("\\") + 1, filename.LastIndexOf(".") - (filename.LastIndexOf("\\") + 1));
                }           
            }


    页面中的【NO】按钮是用来打开文件的,打开的文件是readonly权限,是不可编写的,点击【编辑】按钮就可以打开文件并且编辑,实现代码如下:

    public void readfile(int btNumber, string mode)//点击【NO】按钮,以只读发方式打开文件
            {
                int key = Convert.ToInt16(numArr[btNumber].Text) - 1;
                foreach (KeyValuePair<int, string> kv in dic1)
                {
                    if (kv.Key == key)
                    {
                        System.IO.FileInfo f = new System.IO.FileInfo(kv.Value);
                        if (mode == "ReadOnly")
                        {
                            f.Attributes = System.IO.FileAttributes.ReadOnly;
                        }                   
                        System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);
                    }
                }  
            }


    public void readfile(int btNumber)//点击【编辑】按钮,以可读可写发方式打开文件
            {
                int key = Convert.ToInt16(numArr[btNumber].Text) - 1;
                foreach (KeyValuePair<int, string> kv in dic1)
                {
                    if (kv.Key == key)
                    {
                        System.IO.FileInfo f = new System.IO.FileInfo(kv.Value);
                        f.Attributes = System.IO.FileAttributes.Normal;
                        System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);
                    }
                }
            }


           在C#窗体中使用代码实现文件的打开,用的是进程的思想,即Windows中每个软件都是一个进程,我们平时在电脑中自己打开一个txt文件就是打开一个进程,在代码中同样可以实现打开文件的功能。

    关键语句就是:

    System.Diagnostics.Process csProcess = System.Diagnostics.Process.Start(kv.Value);

    这里的kv.Value是用键值对把文件名和【NO】中的序号对应起来,方便做一些读写操作。


    在没有设置文件的权限时,文件是不可改变的,所以以上代码中,如果不实现

     f.Attributes = System.IO.FileAttributes.ReadOnly;

    文件打开后也是不能更改的,大家可以试试。


    为了使文件能够修改,要设置成 f.Attributes = System.IO.FileAttributes.Normal;


    设置文件的属性主要用到了FileInfo类的Attributes属性。



                                                                                                                                                                       Kyrie Irving___全.

    展开全文
  • 最近做一个课题,要求winform...通过查找资料发现C#本身是很难判断一个文件是否被打开的,相关资料给出需用到windowsAPI来实现,这种方法按理说是可以的,但也许是我没有完全领会到相关函数的意义和返回值,致使不能判

    最近做一个课题,要求winform客户端能保存接收到的实验数据到文件(如.txt文件),并能打开保存好了的实验数据文档,当数据文件已经被打开,要提示文件已被打开,也就是如何判断文件是否处于打开状态,然后给出相应提示。通过查找资料发现C#本身是很难判断一个文件是否被打开的,相关资料给出需用到windowsAPI来实现,这种方法按理说是可以的,但也许是我没有完全领会到相关函数的意义和返回值,致使不能判断文件已经被打开,相关的程序和问题给出如下:

    public class FileStaues
        {
            [DllImport("kernel32.dll")]
            private static extern IntPtr _lopen(string lpPathName, int iReadWrite);//IntPtr相当于long类型
    
            [DllImport("kernel32.dll")]
            private static extern bool CloseHandle(IntPtr hObject);
    
            private const int OF_WRITE = 2;
    
            private const int OF_SHARE_DENY_NONE = 0x40;
    
            private static readonly IntPtr HFILE_ERROR = new IntPtr(964);
    
            public static int FileIsOpen(string fileFullName)
            {
                if (!File.Exists(fileFullName))
                {//不存在文件
                    return -1;
                }
                //handle的值始终不是-1,这样就无法返回1,也就不能判定文件已经打开,就是这个地方有问题
                IntPtr handle = _lopen(fileFullName, OF_WRITE | OF_SHARE_DENY_NONE);
    
                if (handle == HFILE_ERROR)
                {//文件已经打开
                    return 1;
                }
    
                CloseHandle(handle);
    
                return 0;
            }
        }
    相关的调用:

    private int SaveOpenResult;
    
    SaveOpenResult = FileStaues.FileIsOpen(ReceiveFileName);
    if (SaveOpenResult == 0)
         System.Diagnostics.Process.Start(ReceiveFileName);
    else if (SaveOpenResult == -1)
         throw new Exception("文件不存在...");
    else if(SaveOpenResult == -1)
         throw new Exception("文件已打开...");  //当按了“打开”按钮后出现.txt保存文件,但当在次按了“打开”按钮后还是会出现.txt保存文件,不提示已经被打开
    希望有人能指出这种方法的错误之处,谢谢了!!!


    为了能提示保存文件已经被打开,需寻找另外的方法。。。

    通过查找C#打开文件的相关资料,C#打开文件可使用

          System.Diagnostics.Process.Start(文件路径\文件名);

    语句来打开,这是使用进程来打开文件,相当于打开一个文件就是开了一个进程,那么能否通过判断相关的进程是否退出来判定文件是否处于打开状态呢?经过试验,是可以的,程序如下:

    <span style="font-family: Arial, Helvetica, sans-serif;">System.Diagnostics.Process OpenSaveFileProc;//指定进程</span><pre name="code" class="csharp">private void OpenSaveButton01_Click(object sender, EventArgs e)//打开保存文件
            {
                try
                {
                    if (!File.Exists(文件路径\文件名))
                        throw new Exception("文件不存在...");
                    if (OpenSaveFileProc == null || OpenSaveFileProc.HasExited == true)
                        OpenSaveFileProc = System.Diagnostics.Process.Start(文件路径\文件名);
                    else throw new Exception("文件已打开...");
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.Message, "出错提示");
                }
            }

     结果如图: 
    


    第一次按了“打开”按钮,打开文件



    再次按了“打开”按钮后,判断RCF.txt文件已经被打开,并给出出错提示,而不会再次出现RCF.txt文件框。


    个人原创,转载请注明出处!!!






    展开全文
  • 1、选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if ...
  • C# 以MDF文件连接数据库

    千次阅读 2017-09-11 07:59:04
    由于没有安装 SQL Server 数据库服务,所以想着以MDF文件连接数据库(那么庞大的一个软件,安装之后想卸载?根本卸载不干静),是不是就可以不需要安装 SQL Server 了,可惜没有如愿以偿,必须要有 SQL Server ...
  • C# 提示语句总汇

    千次阅读 2016-05-03 14:55:53
    msdn如下说  允许 asp.net 服务器控件在 page 中发出客户端脚本... [C#]  public virtual void RegisterStartupScript(  string key,  string script  ); 参数  key  标识脚本块的唯一键。  script
  • c# 进行xml文件读写操作

    千次阅读 2018-09-05 23:21:03
    c#读写xml的例子网上很多,也很简单,但在实际的运用过程中却发现有许多的困难。之前操作的xml文件一般都是自己定义的。通常的写法就是: XmlDocument doc = new XmlDocument(); string path = "config.xml...
  • C#编程入门第一课 1 .Net 平台与.Net FrameWork .Net 读 / 点 net / .Net Framework 框架为 .Net 平台提供基础环境,使得 .Net 平台开发的应用可以正常运行。 2 C# 读法 / C sharp / ,不是C井 C# 是 .Net 平台的...
  • C#文件流FileStream的用法

    千次阅读 2019-09-10 11:57:56
    FileStream类:主要用于对文件进行读取、写入、打开和关闭操作,并对其他与文件相关的操作系统句柄进行操作,如管道、标准输入和标准输出。读写操作可以指定为同步或异步操作。FileStream对输入输出进行缓冲,从而...
  • C#文件的读取和写入

    千次阅读 2020-05-28 16:37:05
    C#文件的读取和写入 1、 创建文本文件并向文本文件中写入utf-8的文本内容,主要使用的是FileStream类和File类。下面是实例实在C#的控制台应用程序中执行的,首先在该类下面写一个方法用于根据文件路径和输入的内容...
  • OpenDialog打开多个文件

    2011-11-08 17:03:03
    1.QQ:513187410 2.保证无毒 3.简单,方便,实用 4.实例可以自行改用 5.如有非法,本人无法律责任,由改动代码人负责! 6.需要更多本人作品,查找标签“朱建强” 7.请下载,杀毒后再使用!
  • 参考书:《 visual C# 从入门到精通》 第一部分 Visual C# 和Visual Studio 2015概述 第5章 使用复合赋值和循环语句 文章目录5.1 使用复合赋值操作符5.2 使用while 语句5.3 编写for语句5.4 编写do语句 5.1 使用复合...
  • c#加密sql语句解秘

    千次阅读 2016-12-13 22:31:43
    c#加密sql解秘,采用数字证书.实现加密传输
  • protected void Button1_Click(object sender, EventArgs e) { //获取文件 string fileFulName = Server.MapPath("~/... //打开文件 using (StreamReader sr = new StreamReader(fileFulName, Encoding.UTF8))
  • 打开文件夹: sfd为SaveFileDialog的实例  System.Diagnostics.Process.Start("explorer.exe",sfd.FileName.Substring(0,sfd.FileName....打开指定路径的文件:  System.Diagnostics.Process.Start("explorer.exe
  • c#LINQ to SQL语句

    千次阅读 2016-07-21 20:09:11
    LINQ to SQL语句(1)之Where   Where操作   适用场景:实现过滤,查询等功能。   说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句。   Where操作...
  • C# 之 按字节读写文件

    千次阅读 2020-08-16 09:29:15
    C# 之 按字节读写文件,C#的FileStream类简介
  • C#编写的程序连接Mysql的时候总是提示表不存在,Table 'xxx' doesn't exist问题; 二、可能原因: 1、当前账号没有改数据库的权限,需要自行设置权限。 2、可能是因为MySql数据库对表的大小写设置问题,需要设置...
  • C# 执行文件操作

    2007-12-15 20:16:08
    C# 执行文件操作。里面包括文件打开,保存,删除,移动文件,判断文件是否保存,获取文件属性,获取文件的日期和时间信息。
  • try语句和异常 try语句是为了处理错误或者清理对象而定义的语句块。try语句后面必须定义catch语句块或finnally语句块或者后两者都有,当try块执行发生错误时,执行catch块,当结束try块或catch块时,有finally块的...
  • Excel文件导入最新方法并且特别容易理解 最新链接:https://pan.baidu.com/s/19iBN-LptdZW6Q8W-fLxxfQ 提取码:qpwr 图片示例: OK 新人博客:洋.Mr
  • C# 读取EXCEL文件的三种经典方法

    万次阅读 多人点赞 2016-07-21 08:36:47
    1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(string Path) { string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data ...
  • C#创建Excel文件并将数据导出到Excel文件

    万次阅读 多人点赞 2014-05-10 23:19:44
    C#创建Excel文件,这里实际上是从资源中提取一个事先创建好的Excel文件文件提取成功后,使用OleDb方法连接Excel,向Excel文件中写入数据。创建解决方案菜单》新建》项目》Windows窗体应用程序:添加相关组件:添加...
  • 使用C#对Excel文件进行内容筛选

    千次阅读 2019-06-28 16:45:37
    一个使用C#编写的小工具,对指定文件夹下的所有Excel文件进行筛选,如果一个文件中含有某个指定的字符串,记录该文件,并且定位这个字符串出现的位置。 网上使用C#对Excel文件进行读写的方法主要有四种: (1)...
  • C#实现文件上传下载

    万次阅读 2016-12-28 10:47:56
    使用C#编写一个简单的文件上传和下载功能很简单,只要掌握了一些关键点和易错点就足够在很短的时间内设计一个实用的文档管理页面。
  • C# 写入CSV文件

    千次阅读 2018-09-28 14:37:16
    最近做了一个小Demo,需要导出CSV文件。 /// <summary> /// 保存CSV文件 /// </summary> /// <param name="path">文件夹路径</param> /// <param name="fileName">文件全路径</...
  • 这是可运行的C#学生成绩管理系统,把数据库MDF文件附加到SMSS2014或者2017都行,若附加失败,可百度修改文件的安全性之后再做尝试,若都还是附加失败则可以使用SQLQuery1的SQL TF文件拉到SMSS打开即可,然后再执行...
  • C#使用StreamWriter类写入文件文件

    千次阅读 2019-07-05 02:00:30
    C#使用StreamWriter类写入文件文件 (2011-09-06 12:05:27) 转载▼ 标签: it 分类: C#学习 除了使用FileStream类读写文本文件,.net还提供了StreamWriter类和StreamReader类专门处理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,109
精华内容 16,043
关键字:

c#打开文件语句

c# 订阅