使用 ReadAllLines C# 时未处理 DirectoryNotFoundException
DirectoryNotFoundException was unhandled while the use of ReadAllLines C#
下面这段代码是用来调用.txt-file
并将其转成字符串的代码。
string[] lines = System.IO.File.ReadAllLines(@"C:\This PC\Documents\Visual Studio 2015\Projects\test_read_txt\bin\Debug\read.txt");
为什么 C# 无法识别 .txt-file
的位置?
我尝试使用 StreamReader
但无法修改读取。
class Program
{
static void Main(string[] args)
{
// Define our one and only variable
string[] M = new string[13];
// Read the text from the text file, and insert it into the array
StreamReader SR = new StreamReader(@"read.txt");
for (int i = 0; i < 13; i++)
{
M[i] = SR.ReadLine();
}
// Close the text file, so other applications/processes can use it
SR.Close();
// Write the array to the Console
Console.WriteLine("The array from the txt.file: ");
for (int i = 0; i < 13; i++)
{
Console.WriteLine(M[i]); // Displays the line to the user
}
// Pause the application so the user can read the information on the screen
Console.ReadLine();
if (2 == 2)
{
M[1][1] = 1;
}
}
}
它没有将M[1][1]
识别为第二个数组的第二个元素,因为它只是读取文件并没有将其转换为多维数组。以下代码可以用于上述问题吗?
tring[] lines = System.IO.File.ReadAllLines(@"C:\This PC\Documents\Visual Studio 2015\Projects\test_read_txt\bin\Debug\read.txt");
"C:\This PC\Documents" 只是一个显示路径(因为它实际上并不存在),这实际上等同于 "C:\Users\{username}\Documents"
如用户所述,"This PC"只是一个显示路径,并非真实路径。
试试改用这个:
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), @"Visual Studio 2015\Projects\test_read_txt\bin\Debug\read.txt");
string[] lines = File.ReadAllLines(path);
C:\这个PC\Documents不是正确的路径
获取正确文件路径的最简单方法是
转到文件属性 > 安全 > 对象名称
下面这段代码是用来调用.txt-file
并将其转成字符串的代码。
string[] lines = System.IO.File.ReadAllLines(@"C:\This PC\Documents\Visual Studio 2015\Projects\test_read_txt\bin\Debug\read.txt");
为什么 C# 无法识别 .txt-file
的位置?
我尝试使用 StreamReader
但无法修改读取。
class Program
{
static void Main(string[] args)
{
// Define our one and only variable
string[] M = new string[13];
// Read the text from the text file, and insert it into the array
StreamReader SR = new StreamReader(@"read.txt");
for (int i = 0; i < 13; i++)
{
M[i] = SR.ReadLine();
}
// Close the text file, so other applications/processes can use it
SR.Close();
// Write the array to the Console
Console.WriteLine("The array from the txt.file: ");
for (int i = 0; i < 13; i++)
{
Console.WriteLine(M[i]); // Displays the line to the user
}
// Pause the application so the user can read the information on the screen
Console.ReadLine();
if (2 == 2)
{
M[1][1] = 1;
}
}
}
它没有将M[1][1]
识别为第二个数组的第二个元素,因为它只是读取文件并没有将其转换为多维数组。以下代码可以用于上述问题吗?
tring[] lines = System.IO.File.ReadAllLines(@"C:\This PC\Documents\Visual Studio 2015\Projects\test_read_txt\bin\Debug\read.txt");
"C:\This PC\Documents" 只是一个显示路径(因为它实际上并不存在),这实际上等同于 "C:\Users\{username}\Documents"
如用户所述,"This PC"只是一个显示路径,并非真实路径。
试试改用这个:
string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), @"Visual Studio 2015\Projects\test_read_txt\bin\Debug\read.txt");
string[] lines = File.ReadAllLines(path);
C:\这个PC\Documents不是正确的路径
获取正确文件路径的最简单方法是 转到文件属性 > 安全 > 对象名称