Ở đây tôi đã học được rằng có thể với JavaScript trong HTML để tạo các tệp ngoại tuyến và lưu chúng trên đĩa cứng.
Nhưng những gì về việc đọc các tập tin? JavaScript có thể truy cập, nói một trong các tệp .txt của tôi trên điện thoại tự của tôi và hiển thị dữ liệu đọc (hoặc ít nhất là đặt nó trong bộ nhớ cục bộ) không?
Tôi biết rằng có thể với PHP, nhưng không có PHP trên điện thoại di động của tôi, trong khi HTML luôn ở đó.
Đã hỏi ngày 23 tháng 10 năm 2017 lúc 1:40Oct 23, 2017 at 1:40
15
Bạn có thể sử dụng
- nano readFile.js
- nano readFile.js
Nếu thử tại Chromium hoặc Chrome để đọc giao thức
- nano readFile.js
- nano readFile.js
- nano readFile.js
Đã trả lời ngày 24 tháng 10 năm 2017 lúc 1:51Oct 24, 2017 at 1:51
Tác giả đã chọn Quỹ Cứu trợ Covid-19 để nhận quyên góp như một phần của Chương trình Viết cho Đóng góp.
Giới thiệu
Làm việc với các tập tin là phổ biến cho các mục đích phát triển vì nó là cho các mục đích không phát triển. Trong sử dụng máy tính hàng ngày, người dùng có thể sẽ đọc và ghi dữ liệu vào các tệp trong các thư mục khác nhau để hoàn thành các tác vụ như lưu tệp đã tải xuống hoặc truy cập dữ liệu để sử dụng trong một ứng dụng khác. Theo cách tương tự, công cụ chương trình back-end hoặc giao diện dòng lệnh (CLI) có thể cần phải ghi dữ liệu đã tải xuống vào một tệp để lưu nó hoặc một ứng dụng sử dụng nhiều dữ liệu có thể cần phải xuất sang JSON, CSV hoặc Excel định dạng. Các chương trình này sẽ cần liên lạc với hệ thống tập tin của hệ điều hành mà chúng đang chạy.
Với Node.js, bạn có thể lập trình thao tác các tệp với mô-đun
- nano readFile.js
Trong bài viết này, bạn sẽ sử dụng mô -đun
- nano readFile.js
- nano readFile.js
Điều kiện tiên quyết
Bạn phải có Node.js được cài đặt trên máy tính của mình để truy cập mô -đun
- nano readFile.js
Bài viết này sử dụng lời hứa JavaScript để làm việc với các tệp, đặc biệt là với cú pháp const fs = require('fs').promises; 3. Nếu bạn không quen thuộc với lời hứa, cú pháp const fs = require('fs').promises; 3 hoặc lập trình không đồng bộ, hãy xem hướng dẫn của chúng tôi về cách viết mã không đồng bộ trong Node.js.
Bước 1 - Đọc các tệp với const fs = require('fs').promises; 5
Trong bước này, bạn sẽ viết một chương trình để đọc các tệp trong node.js. Để làm điều này, bạn sẽ cần nhập mô -đun
- nano readFile.js
Bước đầu tiên sẽ là thiết lập môi trường mã hóa cho hoạt động này và các trong các phần sau.
Tạo một thư mục để lưu trữ mã của bạn. Trong thiết bị đầu cuối của bạn, hãy tạo một thư mục gọi là const fs = require('fs').promises; 8:
- mkdir node-files
Thay đổi thư mục làm việc của bạn thành thư mục mới được tạo bằng lệnh const fs = require('fs').promises; 9:
- cd node-files
Trong thư mục này, bạn sẽ tạo hai tệp. Tệp đầu tiên sẽ là một tệp mới có nội dung mà chương trình của bạn sẽ đọc sau. Tệp thứ hai sẽ là mô -đun Node.js đọc tệp.
Tạo tệp const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 0 với lệnh sau:
- echo "hello, hola, bonjour, hallo" > greetings.txt
Lệnh const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 1 in đối số chuỗi của nó vào thiết bị đầu cuối. Bạn sử dụng const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 2 để chuyển hướng đầu ra ____ 51 ra một tệp mới, const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 0.
Bây giờ, tạo và mở const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 5 trong trình soạn thảo văn bản của bạn. Hướng dẫn này sử dụng const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 6, một trình soạn thảo văn bản đầu cuối. Bạn có thể mở tệp này với const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 6 như thế này:
- nano readFile.js
Mã cho tệp này có thể được chia thành ba phần. Đầu tiên, bạn cần nhập mô -đun Node.js cho phép chương trình của bạn hoạt động với các tệp. Trong trình soạn thảo văn bản của bạn, hãy nhập mã này:
node-files/readFile.js
const fs = require('fs').promises;Như đã đề cập trước đó, bạn sử dụng mô -đun
- nano readFile.js
Khi mô -đun
- nano readFile.js
- nano readFile.js
- nano readFile.js
- nano readFile.js
Khi mô -đun được nhập, bạn có thể tạo một hàm không đồng bộ để đọc tệp. Các hàm không đồng bộ bắt đầu với từ khóa const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt'); 5. Với chức năng không đồng bộ, bạn có thể giải quyết các lời hứa bằng cách sử dụng từ khóa const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt'); 6, thay vì chuỗi lời hứa bằng phương pháp const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt'); 7.
Tạo một hàm mới const fs = require('fs').promises; 5 chấp nhận một đối số, một chuỗi gọi là const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt'); 9. Hàm const fs = require('fs').promises; 5 của bạn sẽ sử dụng mô -đun
- nano readFile.js
Nhập mã được tô sáng sau:
node-files/readFile.js
const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } }Bạn xác định chức năng với từ khóa const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt'); 5 để sau này bạn có thể sử dụng từ khóa const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt'); 6 đi kèm. Để nắm bắt lỗi trong thao tác đọc tệp không đồng bộ của bạn, bạn sẽ gửi lệnh gọi đến
- node readFile.js
- node readFile.js
- node readFile.js
- node readFile.js
- node readFile.js
- node readFile.js
Output
hello, hola, bonjour, hallo 1 theo mặc định. Đối tượngOutput
hello, hola, bonjour, hallo 1 có thể lưu trữ bất kỳ loại tệp nào. Khi bạn đăng nhập các nội dung của tệp, bạn sẽ chuyển đổi các byte đó thành văn bản bằng cách sử dụng phương thứcOutput
hello, hola, bonjour, hallo 3 của đối tượng bộ đệm.Nếu một lỗi bị bắt, thông thường nếu không tìm thấy tệp hoặc chương trình không có quyền đọc tệp, bạn đăng nhập lỗi bạn nhận được trong bảng điều khiển.
Cuối cùng, hãy gọi chức năng trên tệp const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 0 với dòng được tô sáng sau:
node-files/readFile.js
const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt');Hãy chắc chắn để lưu nội dung của bạn. Với const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 6, bạn có thể lưu và thoát bằng cách nhấn
Output
hello, hola, bonjour, hallo 6.Chương trình của bạn bây giờ sẽ đọc tệp const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 0 bạn đã tạo trước đó và đăng nhập nội dung của nó vào thiết bị đầu cuối. Xác nhận điều này bằng cách thực thi mô -đun của bạn với
Output
hello, hola, bonjour, hallo 8:- node readFile.js
Bạn sẽ nhận được đầu ra sau:
Output
hello, hola, bonjour, halloBây giờ bạn đã đọc một tệp với chức năng
- nano readFile.js
Lưu ý: Trong một số phiên bản trước của Node.js, bạn sẽ nhận được cảnh báo sau khi sử dụng mô -đun
9: In some earlier versions of Node.js, you will receive the following warning when using the
- nano readFile.js
Đối tượng const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } readFile('greetings.txt'); 2 của mô -đun
- nano readFile.js
Bây giờ bạn đã đọc một tệp với mô -đun
- nano readFile.js
Bước 2 - Viết tệp bằng (node:13085) ExperimentalWarning: The fs.promises API is experimental 6
Trong bước này, bạn sẽ viết các tệp với chức năng (node:13085) ExperimentalWarning: The fs.promises API is experimental 6 của mô -đun
- nano readFile.js
Mở một tệp mới trong trình soạn thảo văn bản của bạn:
- cd node-files
Bắt đầu mã của bạn bằng cách nhập mô -đun
- nano readFile.js
nút-files/writefile.js
const fs = require('fs').promises;Bạn sẽ tiếp tục sử dụng cú pháp const fs = require('fs').promises; 3 khi bạn tạo hai chức năng. Hàm đầu tiên sẽ là tạo tệp CSV. Hàm thứ hai sẽ là thêm dữ liệu vào tệp CSV.
Trong trình soạn thảo văn bản của bạn, nhập mã được tô sáng sau:
node-files/writeFile.js
- cd node-files
Hàm không đồng bộ này trước tiên tạo ra biến
- cd node-files
- nano readFile.js
- cd node-files
Tiếp theo, tạo một chức năng mới để thêm các mục vào danh sách tạp hóa của bạn. Thêm chức năng được tô sáng sau trong trình soạn thảo văn bản của bạn:
node-files/writeFile.js
- cd node-files
Hàm
- cd node-files
- cd node-files
Sau đó, bạn sử dụng phương thức (node:13085) ExperimentalWarning: The fs.promises API is experimental 6 như bạn đã làm trong hàm
- cd node-files
- cd node-files
- cd node-files
- cd node-files
- cd node-files
Để hoàn thành tập lệnh của bạn, hãy sử dụng các chức năng này. Thêm các dòng được tô sáng sau ở cuối tệp:
node-files/writeFile.js
- cd node-files
Để gọi các chức năng, trước tiên bạn tạo chức năng trình bao bọc với
- cd node-files
- cd node-files
Các hàm
- cd node-files
- cd node-files
Cuối cùng, định nghĩa
- cd node-files
- cd node-files
- cd node-files
Lưu và thoát const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 6 với
Output
hello, hola, bonjour, hallo 6.Bây giờ, hãy chạy mã của bạn bằng lệnh
Output
hello, hola, bonjour, hallo 8:- cd node-files
Sẽ không có đầu ra. Tuy nhiên, một tệp mới sẽ tồn tại trong thư mục hiện tại của bạn.
Sử dụng lệnh
- cd node-files
- cd node-files
- cd node-files
Bạn sẽ nhận được đầu ra sau:
node-files/groceries.csv
- cd node-files
Cuộc gọi của bạn đến
- cd node-files
- cd node-files
Với chức năng (node:13085) ExperimentalWarning: The fs.promises API is experimental 6, bạn có thể tạo và chỉnh sửa các tệp. Tiếp theo, bạn sẽ xóa các tệp, một thao tác phổ biến khi bạn có các tệp tạm thời hoặc cần tạo không gian trên ổ cứng.
Bước 3 - Xóa các tệp bằng - cd node-files
31
Trong bước này, bạn sẽ xóa các tệp với hàm
- cd node-files
- nano readFile.js
- cd node-files
Trong thiết bị đầu cuối của bạn, hãy tạo một tệp mới cho mô -đun Node.js này:
- cd node-files
Bây giờ bạn sẽ viết mã tạo ra chức năng
- cd node-files
- cd node-files
Trong trình soạn thảo văn bản của bạn, hãy viết mã sau:
node-files/deleteFile.js
- cd node-files
Hàm
- cd node-files
CẢNH BÁO: Khi bạn xóa tệp với chức năng
31, nó không được gửi đến thùng rác hoặc thùng rác của bạn có thể bị xóa vĩnh viễn khỏi hệ thống tập tin của bạn. Hành động này không thể đảo ngược, vì vậy hãy chắc chắn rằng bạn muốn xóa tệp trước khi thực thi mã của mình.
When you delete the file with the
- cd node-files
Thoát const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 6, đảm bảo rằng bạn lưu nội dung của tệp bằng cách nhập
Output
hello, hola, bonjour, hallo 6.Bây giờ, thực hiện chương trình. Chạy lệnh sau trong thiết bị đầu cuối của bạn:
- echo "hello, hola, bonjour, hallo" > greetings.txt
Bạn sẽ nhận được đầu ra sau:
- echo "hello, hola, bonjour, hallo" > greetings.txt
Để xác nhận rằng tệp không còn tồn tại, hãy sử dụng lệnh
- cd node-files
- echo "hello, hola, bonjour, hallo" > greetings.txt
Lệnh này sẽ hiển thị các tệp sau:
- echo "hello, hola, bonjour, hallo" > greetings.txt
Bây giờ bạn đã xác nhận rằng tệp của bạn đã bị xóa với chức năng
- cd node-files
Cho đến nay, bạn đã học được cách đọc, ghi, chỉnh sửa và xóa các tệp. Phần sau đây sử dụng một chức năng để di chuyển các tập tin đến các thư mục khác nhau. Sau khi tìm hiểu chức năng đó, bạn sẽ có thể thực hiện các tác vụ quản lý tệp quan trọng nhất trong Node.js.
Bước 4 - Di chuyển các tệp với - cd node-files
43
Các thư mục được sử dụng để sắp xếp các tệp, do đó, việc có thể lập trình các tệp di chuyển từ thư mục này sang thư mục khác giúp quản lý tệp dễ dàng hơn. Bạn có thể di chuyển các tệp trong Node.js với chức năng
- cd node-files
Trước khi bạn có thể mã hóa mô -đun Node.js của mình, bạn cần thiết lập một vài thứ. Bắt đầu bằng cách tạo một thư mục mà bạn sẽ chuyển tệp của bạn vào. Trong thiết bị đầu cuối của bạn, hãy tạo một thư mục
- cd node-files
- echo "hello, hola, bonjour, hallo" > greetings.txt
Bây giờ, hãy sao chép tệp const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 0 đã được sử dụng trong bước đầu tiên bằng lệnh
- cd node-files
- echo "hello, hola, bonjour, hallo" > greetings.txt
Kết thúc thiết lập bằng cách mở tệp JavaScript để chứa mã của bạn:
- echo "hello, hola, bonjour, hallo" > greetings.txt
Trong mô -đun Node.js của bạn, bạn sẽ tạo một hàm gọi là
- cd node-files
- cd node-files
- cd node-files
- cd node-files
- cd node-files
- cd node-files
- cd node-files
Nhập mã sau trong trình soạn thảo văn bản mở của bạn:
node-files/moveFile.js
- echo "hello, hola, bonjour, hallo" > greetings.txt
Như đã đề cập trước đó, hàm
- cd node-files
Lưu và thoát const fs = require('fs').promises; async function readFile(filePath) { try { const data = await fs.readFile(filePath); console.log(data.toString()); } catch (error) { console.error(`Got an error trying to read the file: ${error.message}`); } } 6 bằng cách nhấn
Output
hello, hola, bonjour, hallo 6.Tiếp theo, thực hiện chương trình này với
Output
hello, hola, bonjour, hallo 8. Nhập lệnh này để chạy chương trình:- echo "hello, hola, bonjour, hallo" > greetings.txt
Bạn sẽ nhận được đầu ra này:
- echo "hello, hola, bonjour, hallo" > greetings.txt
Để xác nhận rằng tệp không còn tồn tại trong thư mục hiện tại của bạn, bạn có thể sử dụng lệnh
- cd node-files
- echo "hello, hola, bonjour, hallo" > greetings.txt
Lệnh này sẽ hiển thị các tệp và thư mục này:
- nano readFile.js
Bây giờ bạn có thể sử dụng
- cd node-files
- cd node-files
- nano readFile.js
Tệp di chuyển của bạn sẽ xuất hiện trong đầu ra:
- nano readFile.js
Bây giờ bạn đã sử dụng chức năng
- cd node-files
Sự kết luận
Trong bài viết này, bạn đã học các chức năng khác nhau để quản lý các tệp với Node.js. Đầu tiên bạn tải nội dung của một tệp với const fs = require('fs').promises; 5. Sau đó, bạn đã tạo các tệp mới và dữ liệu được thêm vào một tệp hiện có với chức năng (node:13085) ExperimentalWarning: The fs.promises API is experimental 6. Bạn đã xóa vĩnh viễn một tệp với chức năng
- cd node-files
- cd node-files
Làm việc với các tệp theo chương trình là một chức năng quan trọng của Node.js. Các chương trình có thể cần xuất các tệp để người dùng sử dụng hoặc có thể cần lưu trữ dữ liệu cho một ứng dụng không phải lúc nào cũng chạy. Với các chức năng mô -đun ____39, các nhà phát triển có quyền kiểm soát cách sử dụng các tệp trong các chương trình Node.js của chúng tôi.
Để tìm hiểu thêm về mô -đun
- nano readFile.js