从本地文本文件读取到 C# 中

本文关键字:读取 文件 文本 | 更新日期: 2023-09-27 18:37:21

我已经搜索并只找到了控制台的此信息,但我想知道是否可以将本地计算机上的文件中的文本读取到代码中,格式化它并显示在屏幕上? 我们有一个文本文件,其中包含一些可以定期更新的法律术语,而不是让用户筛选代码,我们只想更新文本文件并在线应用更改。

谢谢!

编辑

:感谢大家的评论,这里是对要求的编辑。 该程序位于 C# ASP.NET 网站中。 我已经阅读了许多关于在控制台中完成此操作的文章,但我不确定如何使其为我工作。 再次感谢大家的贡献。

从本地文本文件读取到 C# 中

你有完整的程序(ASP.net)。您必须在 ASP.net 应用程序的App_Data文件夹中有一个文件,在此应用程序中,您的文件名"详细信息.txt"应该在您的App_Data文件夹中可用。

您的网页中有一个隐藏字段和一个段落。加载窗体时,此时从文本文件中读取数据并填充到隐藏字段控件。在$(document).ready() Jquery函数将数据填充到隐藏字段的段落中。

您的.aspx页面 :

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="ReadFromTextFileToTextBoxWebApp._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
  <style type="text/css" >
   .details
   {
       background-color:Purple;color:yellow;top: 100px;
   }
   .txtDetails
   {
       left:150px;width:200px;height:100px;
   }
  </style>
  <script src="Scripts/jquery-1.8.3.min.js" type="text/javascript"></script>
  <script type="text/javascript" language="javascript">
      $(document).ready(function () {
          var data = $("#<%=HiddenField1.ClientID %>").val();
          $('#pTextData').text(data);
      });
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <h2>
        Welcome to ASP.NET!
    </h2>
     <div>
        <asp:HiddenField ID="HiddenField1" runat="server" />
        <p id="pTextData">
        </p>
     </div>
</asp:Content>

这是您的代码隐藏页面:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
namespace ReadFromTextFileToTextBoxWebApp
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            var data = File.ReadAllText(Server.MapPath("~/App_Data/Details.txt"));
            HiddenField1.Value = data.ToString();   
        }           
    }
}

以下是在 .Net 中工作的两种方法

var legal = File.ReadAllText(@"C:'Legal'Legalease.txt");
// Or from the CWD of where the program is executing
var legal = File.ReadAllText(Path.Combine(Environment.CurrentDirectory, "Legalease.txt"));
<小时 />

更新

请记住,Asp.Net 以该网站的 IIS 应用程序池中定义的用户身份运行。如果用户对文件所在的位置没有读取访问权限,则无法读取该文件。确保网站应用程序池中定义的用户有权读取文件,并验证文件是否已发布到读取位置。