LuaRT에서 파일 사용
LuaRT에서 File 객체 사용하기
LuaRT에서 파일 조작은 File 객체를 사용하여 촉진됩니다: 파일 생성, 열기, 닫기, 이동, 복사, 삭제 ...
파일 값 만들기
이 시점에서 File 객체는 물리적으로 존재할 수도 있고 없을 수도 있는 파일의 추상화를 나타낸다는 것을 이해하는 것이 중요합니다. 예를 들어, 새 파일을 생성할 때 File:open() 메서드에 대한 호출만 컴퓨터 저장소에 파일을 물리적으로 생성합니다.
local newfile = sys.File("hello.txt") -- newfile holds a File value
print(newfile.exists) -- outputs false
newfile:open("write") -- creates the file physically on the disk
newfile:close() -- closes the opened File
print(newfile.exists) -- now outputs true
파일 작업
File 객체는 파일 작업을 수행하는 데 사용할 수 있습니다.
local file = sys.File("test.txt")
file:copy("test_copy.txt") -- copies file
file:move("C:\") -- moves file
file:remove() -- deletes the file
파일 열기 및 닫기
파일을 열어 내용을 읽거나 쓸 수 있습니다. 이것은 File:open() 메서드를 호출하여 수행됩니다. 기본적으로 파일은 "읽기"모드로 열려 있습니다. 파일 인코딩은 두 번째 인수로 지정하거나 바이트 표시 순서를 사용하여 감지할 수 있습니다.
local file = File("test.bin")
file:open() -- opens the file "test.bin" in read mode (encoding is autodetected)
file:close() -- closes the file
file:open("write", "binary") -- open the file in write mode (erasing its previous content), using "binary" encoding(ie raw binary)
Do not forget to close a file after the transaction on this one ended. This is done automatically when the File object is garbage collected, but that cannot be predicted.
파일 읽기 및 쓰기
File 객체가 생성되고 File:open() 메서드가 호출되면 호출에 사용된 모드에 따라 File에 쓰거나 읽을 수 있습니다. 이 메서드는 이진 모드(메모리 이진 데이터에 포함)의 버퍼 개체를 반환하거나 UTF8 또는 UNICODE 모드의 문자열을 반환합니다.
파일 내용 읽기
파일 내용을 읽는 방법에는 File:read() 및 File:readln()의 두 가지가 있습니다.
local file = File("README.TXT"):open() -- opens the File for reading
print(file:read()) -- reads and prints all the file content
File:read() 메서드는 인수로 지정된 문자 수(UTF8 또는 UNICODE 모드 사용 시) 또는 바이트(바이너리 모드)를 읽거나 인수가 제공되지 않은 경우 파일의 모든 내용을 읽습니다.
File:readln() 메서드는 줄을 읽습니다(줄 끝 문자 "\r\n"또는 "\n"이 나타날 때까지).
파일에 쓰기
파일에 데이터를 쓰는 방법에는 File:write() 및 File:writeln()의 두 가지가 있습니다.
각 메서드는 파일에 쓸 문자열로 변환된 하나의 인수를 사용합니다. 바이너리 모드에서는 Buffer 객체를 사용할 수 있습니다.
File:writeln()은 "\r\n"을 추가하여 파일에 한 줄을 씁니다(Windows의 줄 끝 마커에 해당).
파일 위치
File.position 속성은 현재 파일 위치를 숫자로 가져오거나 설정합니다. 파일 위치는 항상 1에서 시작합니다(Lua의 모든 인덱스/위치 값에 대해).
파일 위치 해석은 파일 인코딩에 따라 다릅니다.
"바이너리"인코딩에서 위치는 바이트로 표시됩니다.
"utf8"또는 "유니코드"인코딩에서 위치는 문자로 표시됩니다.
File.eof 속성은 파일 끝에 도달했는지 확인합니다.
파일 타임스탬프
File.accessed, File.modified 및 File.created는 Datetime 객체를 사용하여 타임스탬프를 설정하거나 가져올 수 있도록 허용합니다(LuaRT에서 Datetime 객체는 날짜와 시간의 조합인 순간을 나타냄).
파일 속성
File.hidden, File.temporary 및 File.readonly는 해당 속성을 설정하거나 가져올 수 있습니다.
파일 경로 및 이름
File.fullpath, File.filename, File.extension, File.path는 파일 이름의 다른 부분에 대한 액세스를 허용합니다.
보시다시피, File 객체는 LuaRT에서 파일 생성, 읽기, 쓰기 및 조작과 관련된 모든 기능에 대한 쉬운 액세스를 제공합니다. 이러한 기능은 표준 Lua 라이브러리에서 제공하는 기능을 능가합니다.
Reference
이 문제에 관하여(LuaRT에서 파일 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/samyeyo/using-files-in-luart-34b9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)