2017-07-17 76 views
0

所以我想從文件位置加載文本,所以我需要從創建文件位置開始,然後使用該文件位置將文本加載到我的文本框。從文件位置自動加載文本到文本框

所以我想創建該文件的位置... @ 「C:\ Program Files文件(x86)的\ CPA \文[數字] .TXT」

然後在那個位置,我想有我[數字]文本文件

one.txt 
two.txt 
three.txt 
four.txt 
five.txt 
six.txt 
seven.txt 
eight.txt 

然後我需要的工具自動將文本文件加載到文本框

對於我的按鈕來保存我使用的文字...

SaveFileDialog saveFileDialog = new SaveFileDialog(); 
     saveFileDialog.Filter = "one|*.txt"; //Should I name it 'one.txt' instead ? 
     if (saveFileDialog.ShowDialog() != DialogResult.OK) 
      return; 
     File.WriteAllText(saveFileDialog.FileName, this.textBox1.Text); 

我計劃使用以下命令獲取位置...

if (File.Exists(@"C:\Program Files (x86)\CPA\Text")) 
      { 
       //Load text to textboxes 

      } 

但我不知道如何加載文本到文本框自動,而不要求用戶選擇使用開放文件中的文本文件對話

+0

查找到'System.IO.File.ReadAllText(字符串路徑)' –

回答

0

您可以使用File.ReadAllText方法將文本文件的內容加載到字符串變量中。您只需將此方法傳遞給文件,它將打開文件,讀取內容,將它們作爲字符串返回並關閉文件。

您可能會考慮將您的文件與可執行文件一起保存在目錄中。這種方式很容易找到,並始終停留在你的EXE附近。

爲了讓你的可執行住在目錄中,你可以這樣做:

// This requires "using System.Reflection" at the top of your .cs file 
var thisExeDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); 

這時,你可能希望有一個文件夾目錄下存儲文件,像「的FileData」目錄:

var myFileDirectory = Path.Combine(thisExeDirectory, "FileData"); 

如果你不想這樣做,你可以做你已經做什麼:

var myFileDirectory = @"C:\Program Files (x86)\CPA\Text[number].txt"; 

在任何情況下,這裏有一個如何讀取一個文件的內容到一個文本框的例子:

// Get the full path to the file 
var filePath = Path.Combine(myFileDirectory, "one.txt"); 

// If it exists, write the contents to a textbox 
if (File.Exists(filePath)) 
{ 
    textBox1.Text = File.ReadAllText(filePath); 
} 

現在以後,如果要覆蓋與文本框的內容的文件,你可以使用類似的方法被稱爲File.WriteAllText

// If the directory does not exist, create it 
Directory.CreateDirectory(myFileDirectory); 

File.WriteAllText(filePath, textBox1.Text); 
+0

因此,這是它應該如何看我的form1的初始化 https://gyazo.com/332a044d6a5882840590346c86065f0a –

+0

我的保存按鈕應該看起來像這樣https://gyazo.com/defb4a0976bd61598576142b1ef 71647 –

+0

我最終得到這個錯誤雖然「在mscorlib.dll中發生類型'System.IO.DirectoryNotFoundException'的未處理的異常」 –