c# - 尝试在服务器上创建文本文件会导致“找不到网络名称”错误
问题描述
我正在尝试将一个文本文件分成两半,分成两个新的文本文件。为此,我编写了一个 .NET 5 控制台应用程序,传递了我试图在命令行上拆分的文件的名称。我要拆分的文件位于我可以访问的网络共享上。当我运行我的应用程序时,它可以很好地找到并读取原始文本文件,但是当它尝试创建第一个新文本文件时出现错误:
找不到网络名称。: '\ourserver\ELRDataFilesELR-DailyExtract-STD(1)-Left.txt'
我已经用我的开发机器上的文件对此进行了测试,它工作正常。
我在 PowerShell 提示符下运行该应用程序。我尝试使用提升的权限运行 PowerShell 提示符,但没有成功。
我已经在网上寻找解决方案,但没有找到任何解决这个问题的方法。我知道我的代码读取了原始文本文件,我发现的大多数解决方案都涉及无法使用 StreamReader 或 File.ReadAllLines 看到该文件。
这是有问题的代码片段。尝试在文件名末尾使用“-Left”创建新文件时失败。注意:布尔变量 beVerbose 之前设置为true
.
string[] lines;
try
{
lines = File.ReadAllLines(elrFile);
}
catch (Exception ex)
{
Console.WriteLine($"Encountered errors reading through {elrFile}:");
DisplayAllErrors(ex);
return;
}
//now capture the header row
headerRow = lines[0];
int totalRows = lines.Length;
int midPoint = totalRows / 2;
if (beVerbose)
{
Console.WriteLine($"Total number of rows: {totalRows}");
Console.WriteLine($"Mid-point: {midPoint}");
Console.WriteLine("Begin construction of the left and right ELR text files");
}
string fileWritingTo = leftELRFileName;
try
{
int i = 0;
//write left file first
using (var leftFile = new StreamWriter(fileWritingTo, false))
{
while (i < midPoint)
{
leftFile.WriteLine(lines[i]);
i++;
}
}
//now write the right file
fileWritingTo = rightELRFileName;
using (var rightFile = new StreamWriter(fileWritingTo, false))
{
//first, write the header row
rightFile.WriteLine(headerRow);
//now write the rest of the records
while (i < totalRows)
{
rightFile.WriteLine(lines[i]);
i++;
}
}
}
catch (Exception ex)
{
Console.WriteLine($"Error writing to file {fileWritingTo}:");
DisplayAllErrors(ex);
return;
}
解决方案
推荐阅读
- python - 如何在 tkinter 的画布内放置所有小部件?
- java - Junit抛出java.lang.Exception:即使有公共@test也没有可运行的方法
- django - 如何在django中计算对象
- python - 从 pandas.Series 过滤 pandas.DataFrame
- ios - 如何跨 Swift 模块进行调试?
- node.js - 我在安装应用程序后创建了 Shopify 应用程序我想以电子邮件和商店 URL 作为参数将用户带到我的网站
- apache - 如何使用 pgadmin4 和 apache 解决内部服务器错误?
- testing - 我如何将 Jmeter 用作普通浏览器?
- angular - 使用 @angular/elements 为每个组件生成不同的 js 包
- html - 徽标 CSS 导航栏不断爆炸