C# で埋め込みリソース テキスト ファイルを読み取る
このチュートリアルでは、C# プログラミング言語を使用して埋め込みリソース テキスト ファイルを読み取る方法を示します。
埋め込みリソース テキスト ファイルの読み取り
埋め込みファイルは埋め込みリソースと呼ばれ、System.Reflection
名前空間にある Assembly クラスを使用して実行時にこれらのファイルにアクセスできます。 埋め込みファイルは、現在プロジェクトの一部である任意のファイルから作成できます。
埋め込まれたリソース テキスト ファイルを読み取るには、次の手順に従う必要があります。
-
フォルダとファイルを追加
まず、
files
という名前のフォルダーをプロジェクトに追加します。 次に、以下に示すように、ソリューション エクスプローラー
のコンテキスト メニュー
にある追加 -> 既存のアイテム
オプションを使用して、そのフォルダーに埋め込まれたファイルを追加します。フォルダー内に埋め込まれたファイルを追加できるようになります。
埋め込むファイルを追加したら、
File
を右クリックし、Properties
をクリックします。次に、下のスクリーンショットに従って、
Build Action
属性の値をContent
から埋め込みリソースに変更します。 -
Windows フォームの作成
まず、
TextBox
を Windows フォームに追加し、Properties
からtxtTextBox
という名前を付けます。ここで、
btnText
という名前のボタンを追加し、以下に示すようにボタンにRead Embed Text
テキストを表示します。 -
Windows フォーム コードの記述
まず、次のライブラリをインポートする必要があります。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Reflection;
Read Embed Text
ボタンを右クリックしてそのイベントを作成することで、ここでは次のようにボタン コードを記述します。assembly
という名前のAssembly
メソッド オブジェクトを作成します。var asmbly = Assembly.GetExecutingAssembly();
次に、
filepath
という名前のvar
型変数を作成します。 この変数は、テキスト ファイルのパスを保持します。var filePath = "ReadEmbedTextbyZeeshan.files.Shani.txt";
最後に、指定されたパスからテキスト ファイルを読み取る
StreamReader
を使用して、埋め込まれたファイル テキストを表示します。using (Stream s = asmbly.GetManifestResourceStream(filePath)) using ( StreamReader sr = new StreamReader(s)) { txtTextBox.Text = sr.ReadToEnd(); }
-
完全なソース コード
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.IO; using System.Reflection; namespace ReadEmbedTextbyZeeshan { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void btnText_Click(object sender, EventArgs e) { var asmbly = Assembly.GetExecutingAssembly(); var filePath = "ReadEmbedTextbyZeeshan.files.Shani.txt"; using (Stream s = asmbly.GetManifestResourceStream(filePath)) using ( StreamReader sr = new StreamReader(s)) { txtTextBox.Text = sr.ReadToEnd(); } } } }
Read Embed Text
ボタンをクリックすると、以下の出力が表示されます。出力:
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn