如何在TypeScript中讀取檔案?


作為一種對初學者友好的程式語言,TypeScript 提供了各種功能來有效地處理檔案操作。讀取檔案是開發人員在處理專案時經常遇到的基本任務。在本教程中,我們將探討在 TypeScript 中讀取檔案的不同場景,並提供清晰的解釋,以及語法和程式碼示例。

語法

const fileReader = new FileReader();
fileReader.onload = () => {
   const fileContent = fileReader.result as string;
   console.log(fileContent);
};

以上是在 typescript 中讀取檔案的語法。我們建立一個新的 FileReader 例項,並使用它的 onload 事件處理程式在檔案讀取完成後處理檔案內容。我們使用 console.log() 列印檔案內容。

讀取文字檔案

要使用 FileReader API 讀取文字檔案,請按照以下步驟操作:

步驟 1:建立 HTML 檔案輸入元素

在您的 HTML 檔案中,建立一個型別為“file”的輸入元素,以允許使用者選擇文字檔案:

<input type="file" id="fileInput">

步驟 2:讀取檔案

在您的 TypeScript 程式碼中,從輸入元素檢索檔案,並使用 FileReader API 讀取其內容:

const fileInput = document.getElementById('fileInput') as HTMLInputElement;

fileInput.addEventListener('change', () => {
   const file = fileInput.files[0];
   if (file) {
      const fileReader = new FileReader();
      fileReader.onload = () => {
      const fileContent = fileReader.result as string;
      console.log(fileContent);
      };
      fileReader.readAsText(file);
   }
});

在此程式碼中,我們偵聽檔案輸入元素上的“change”事件。當用戶選擇檔案時,我們從輸入元素的 files 屬性中檢索它。然後,我們建立一個新的 FileReader 例項,並使用其 onload 事件處理程式在檔案讀取完成後處理檔案內容。最後,我們呼叫 FileReader 例項上的 readAsText 以將檔案讀取為文字。

輸出

在這裡,一個名為 Colleges.txt 的檔案被上傳作為輸入,並且其內容使用 FileReader API 列印到控制檯。

讀取 JSON 檔案

要使用 FileReader API 讀取 JSON 檔案,請按照以下步驟操作:

步驟 1:建立 HTML 檔案輸入元素

如前一個場景中所述建立 HTML 檔案輸入元素。

<input type="file" id="fileInput">

步驟 2:讀取 JSON 檔案

修改 TypeScript 程式碼以將檔案內容解析為 JSON:

const fileInput = document.getElementById('fileInput') as HTMLInputElement;

fileInput.addEventListener('change', () => {
   const file = fileInput.files[0];
   if (file) {
      const fileReader = new FileReader();
      fileReader.onload = () => {
         const fileContent = fileReader.result as string;
         const jsonData = JSON.parse(fileContent);
         console.log(jsonData);
         console.log(jsonData.name);
      };
      fileReader.readAsText(file);
   }
});

讀取檔案內容後,我們使用 JSON.parse 解析它,以獲得一個表示 JSON 資料的 JavaScript 物件。在此示例中,我們假設 JSON 檔案具有一個“name”屬性,我們將其記錄到控制檯。

輸出

讀取 CSV 檔案

在 Web 瀏覽器中讀取 CSV 檔案而不使用 fs 模組或 Node.js 需要額外的處理。您可以使用 FileReader API 讀取檔案,然後手動解析 CSV 資料。以下是一個示例:

步驟 1:建立 HTML 檔案輸入元素

如前一個場景中所述建立 HTML 檔案輸入元素。

<input type="file" id="fileInput">

步驟 2:讀取和處理 CSV 檔案

修改 TypeScript 程式碼以讀取和處理 CSV 檔案內容:

const fileInput = document.getElementById('fileInput') as HTMLInputElement;

fileInput.addEventListener('change', () => {
   const file = fileInput.files[0];

   if (file) {
      const fileReader = new FileReader();
      fileReader.onload = () => {
         const fileContent = fileReader.result as string;
         const rows = fileContent.split('
'); const csvData: any[] = []; for (let i = 0; i < rows.length; i++) { const columns = rows[i].split(','); csvData.push(columns); } console.log(csvData); }; fileReader.readAsText(file); } });

在此程式碼中,讀取檔案內容後,我們使用換行符“`
`”將其拆分為行。然後,我們遍歷每一行,並使用逗號“,”將其拆分為列。我們將 CSV 資料儲存在陣列的陣列 (csvData) 中,其中每個內部陣列表示一行及其相應的列。

輸出

結論

本初學者友好型教程探討了在 TypeScript 中讀取檔案的替代方法。利用 FileReader API 使我們能夠在 fs 模組不可用的環境(例如 Web 瀏覽器)中處理檔案讀取場景。我們涵蓋了讀取文字檔案、解析 JSON 檔案和手動處理 CSV 檔案。

請記住,當使用 FileReader API 時,您可以將檔案內容檢索為字串並根據需要進行操作。對於解析 JSON 和 CSV 等結構化檔案格式,可能需要額外的處理步驟才能正確提取和格式化資料。

更新於: 2023年8月31日

10K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告