Я не могу получить доступ к файлу, с которым я работаю в программе, которую я пишу. Я не уверен, как именно работать с этим, так как я хочу, чтобы моя программа открывала файл по вашему выбору, что он делает, а затем я хочу, чтобы он мог записывать информацию в аранжировку, что он делает, а затем оттуда, напишите эту информацию из массива в файл, который вы открыли. Когда я пытаюсь запустить какой-то код, он говорит мне: «Процесс не может получить доступ к файлу файла, потому что он используется другим процессом». Вот что я до сих пор. Пожалуйста, дайте мне знать. Спасибо. Проблемными областями является раздел Save_Click кода, где я написал «Это тест» Спасибо.Не удается получить доступ к файлу
public partial class ListingSearch : Form
{
string line;
DialogResult result;
string fileName;
int i = 0;
string[] first = new string[100];
string[] last = new string [100];
string[] phone = new string [100];
string[] grade = new string [100];
public ListingSearch()
{
InitializeComponent();
MessageBox.Show("Please be sure to open a file before beginning");
}
private void OpenFile_Click(object sender, EventArgs e)
{
using (OpenFileDialog filechooser = new OpenFileDialog())
{
result = filechooser.ShowDialog();
fileName = filechooser.FileName;
System.IO.StreamReader file =
new System.IO.StreamReader(fileName);
while ((line = file.ReadLine()) != null)
{
string[] words = File.ReadAllText(fileName).Split(new string[] { "\n", "\r\n", ":" }, StringSplitOptions.RemoveEmptyEntries);
//firstName.Text = words[4];
//lastName.Text = words[5];
//telephone.Text = words[6];
//GPA.Text = words[7];
}
Read.Enabled = true;
}
}
private void Save_Click(object sender, EventArgs e)
{
File.AppendAllText(fileName, "This is a test");
}
private void Read_Click(object sender, EventArgs e)
{
MessageBox.Show(fileName);
MessageBox.Show(File.ReadAllText(fileName));
}
private void info_Click(object sender, EventArgs e)
{
first[i] = firstName.Text;
firstName.Text = " ";
last[i] = lastName.Text;
lastName.Text = " ";
phone[i] = telephone.Text;
telephone.Text = " ";
grade[i] = GPA.Text;
GPA.Text = " ";
i++;
}
private void displayinfo_Click(object sender, EventArgs e)
{
if (i == 0)
MessageBox.Show("Nothing to display!");
else
for (int j = 0; j < i; j++)
{
MessageBox.Show(first[j] + " " + last[j] + "\r" + phone[j] + "\r" + grade[j]);
}
}
Вы уже получили ответ: Ваш файл используется другим процессом. (Ну ... это может быть ваш собственный процесс в любом случае: P) –