Ответ 1
ниже код должен работать:
string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Data\Names.txt");
string[] files = File.ReadAllLines(path);
У меня есть проект С# (консольное приложение Windows). Я создал папку с именем Данные внутри проекта. В папке "Данные" есть два текстовых файла.
Как читать текстовые файлы из папки "Данные". Я пробовал что-то ниже.
string[] files = File.ReadAllLines(@"Data\Names.txt")
Это ошибка в том, что файл не найден.
Я проверил несколько ранее поставленных ответов Stackoverflow, и ни один из них не работает для меня.
Как я могу продолжить? Спасибо!
ниже код должен работать:
string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Data\Names.txt");
string[] files = File.ReadAllLines(path);
зависит от того, где находится папка с данными
Чтобы получить каталог, в котором находится файл .exe:
AppDomain.CurrentDomain.BaseDirectory
Чтобы получить текущий каталог:
Environment.CurrentDirectory
Затем вы можете объединить свой путь к каталогу (@"\Data\Names.txt"
)
Если вам нужно получить все файлы в папке с именем "Данные" , просто введите код ниже
string[] Documents = System.IO.Directory.GetFiles("../../Data/");
Теперь "Документы" состоят из массива полного имени объекта из двух текстовых файлов в папке "Данные" "Данные" .
У меня есть проект С# (консольное приложение Windows). Я создал папку с именем Images внутри проекта. Существует один файл ico, называемый MyIcon.ico. Я получил доступ к MyIcon.ico внутри папки "Картинки", как показано ниже.
this.Icon = new Icon(@"../../Images/MyIcon.ico");
Скопируйте всегда в каталог вывода, затем попробуйте следующее:
Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);
String Root = Directory.GetCurrentDirectory();
Используйте этот код для чтения всех файлов в папке и вложенных папках также
class Program
{
static void Main(string[] args)
{
getfiles get = new getfiles();
List<string> files = get.GetAllFiles(@"D:\Document");
foreach(string f in files)
{
Console.WriteLine(f);
}
Console.Read();
}
}
class getfiles
{
public List<string> GetAllFiles(string sDirt)
{
List<string> files = new List<string>();
try
{
foreach (string file in Directory.GetFiles(sDirt))
{
files.Add(file);
}
foreach (string fl in Directory.GetDirectories(sDirt))
{
files.AddRange(GetAllFiles(fl));
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return files;
}
}
Для Xamarin.iOS вы можете использовать следующий код, чтобы получить содержимое файла, если файл существует.
var documents = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var filename = Path.Combine(documents, "xyz.json");
if (File.Exists(filename))
{
var text =System.IO.File.ReadAllText(filename);
}
string myFile= File.ReadAllLines(Application.StartupPath.ToString() + @"..\..\..\Data\myTxtFile.txt")