Difference between revisions of "love.filesystem (한국어)"

m
m
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
파일 입출력이나 폴더 관리에 필요한 함수를 제공합니다.
 
파일 입출력이나 폴더 관리에 필요한 함수를 제공합니다.
  
이 모듈은 아래의 두 위치에만 접근하는 것을 허용합니다.
+
love.filesystem은 아래의 두 위치에만 접근하는 것을 허용합니다.
  
*  .love 아카이브(혹은 압축되지 않은 소스 디렉토리) 내부의 파일 또는 디렉토리
+
*  .love 압축 파일(혹은 압축되지 않은 소스들이 있는 디렉토리)(읽기 전용)
''세이브 디렉토리'' 내부의 파일 또는 디렉토리
+
*  세이브 디렉토리(읽기, 쓰기)
  
게임은 시스템 상에서 단 하나의 디렉토리에만 저장이 허용되어 있는데, 이것이 ''세이브 디렉토리'' 입니다. 시스템마다 다르긴 하겠지만 보통은 다음 디렉토리 안에 위치합니다.
+
세이브 디렉토리는 파일을 저장할 수 있는 유일한 저장소입니다. 게임마다 시스템 상에서 단 하나의 세이브 디렉토리를 가집니다. 시스템마다 다르긴 하겠지만 보통은 다음 디렉토리 안에 위치합니다.
  
 
*  Windows XP: <code>C:\Documents and Settings\user\Application Data\LOVE\</code> 또는 <code>%appdata%\LOVE\</code>
 
*  Windows XP: <code>C:\Documents and Settings\user\Application Data\LOVE\</code> 또는 <code>%appdata%\LOVE\</code>
Line 13: Line 13:
 
*  Mac: <code>/Users/user/Library/Application Support/LOVE/</code>
 
*  Mac: <code>/Users/user/Library/Application Support/LOVE/</code>
  
쓰기 모드로 열린 파일은 저장시 루트를 ''세이브 디렉토리''로 해서 생성될 것입니다.
+
쓰기 모드로 열린 파일은 쓸 수 있는 저장소가 하나밖에 없으니 저장시 루트를 세이브 디렉토리로 해서 생성됩니다.
  
읽기 모드로 열린 파일 또한 ''세이브 디렉토리''에 접근할 수 있으며, 추가적으로 .love 아카이브 내부까지 접근 가능합니다. 여기서 한 가지 문제점이 발생하는데, love.filesystem은 이 두 위치를 모두 루트로 취급한다는 것입니다. 따라서 만약 동일한 이름과 경로를 가진 파일이 .love 아카이브와 ''세이브 디렉토리'' 둘 다 존재할 경우, ''세이브 디렉토리''에 있는 파일을 우선적으로 접근하게 됩니다.
+
읽기 모드로 열린 파일은 세이브 디렉토리와 .love 압축 파일 두 군데에 동시에 접근할 수 있습니다. 여기서 한 가지 문제점이 발생하는데, love.filesystem은 이 두 위치를 모두 루트로 취급한다는 것입니다. 따라서 만약 '''동일한 이름과 경로를 가진 파일이 .love 압축 파일과 세이브 디렉토리 둘 다 존재할 경우, 세이브 디렉토리에 있는 파일을 우선적으로 접근'''하게 됩니다.
  
알림: '''모든''' 경로는 .love 아카이브와 ''세이브 디렉토리''가 루트 디렉토리로 간주되어진 경로입니다. (get*Directory() 통한 접근 제외)
+
정리하자면, '''모든''' 경로는 .love 압축 파일과 세이브 디렉토리가 루트 디렉토리로 간주되어진 경로입니다. (get*Directory()통한 접근 제외)
  
''세이브 디렉토리''의 이름을 결정하기 위해 먼저 <code>[[Config Files|conf.lua (한국어)]]</code>에서 <code>[[love.filesystem.setIdentity (한국어)]]()</code>를 설정해보세요.
+
<code>[[Config Files (한국어)|conf.lua]]</code>에서 세이브 디렉토리의 이름을 정해보세요.
 +
<code>[[love.filesystem.setIdentity (한국어)|love.filesystem.setIdentity]]</code>에서 설정할 수도 있습니다.
 
== 타입 ==
 
== 타입 ==
 
{{#ask: [[Category:Types]] [[parent::love.filesystem (한국어)]] [[Concept:Current]]
 
{{#ask: [[Category:Types]] [[parent::love.filesystem (한국어)]] [[Concept:Current]]
Line 54: Line 55:
 
}}
 
}}
 
[[Category:Modules]]
 
[[Category:Modules]]
{{#set:파일 입출력이나 폴더 관리에 필요한 함수를 제공합니다.}}
+
{{#set:Description=파일 입출력이나 폴더 관리에 필요한 함수를 제공합니다.}}
 
== 같이 보기 ==
 
== 같이 보기 ==
 
* [[parent::love (한국어)]]
 
* [[parent::love (한국어)]]

Latest revision as of 18:10, 4 March 2014

파일 입출력이나 폴더 관리에 필요한 함수를 제공합니다.

love.filesystem은 아래의 두 위치에만 접근하는 것을 허용합니다.

  • .love 압축 파일(혹은 압축되지 않은 소스들이 있는 디렉토리)(읽기 전용)
  • 세이브 디렉토리(읽기, 쓰기)

세이브 디렉토리는 파일을 저장할 수 있는 유일한 저장소입니다. 각 게임마다 시스템 상에서 단 하나의 세이브 디렉토리를 가집니다. 시스템마다 다르긴 하겠지만 보통은 다음 디렉토리 안에 위치합니다.

  • Windows XP: C:\Documents and Settings\user\Application Data\LOVE\ 또는 %appdata%\LOVE\
  • Windows Vista 또는 7: C:\Users\user\AppData\Roaming\LOVE 또는 %appdata%\LOVE\
  • Linux: $XDG_DATA_HOME/love/ 또는 ~/.local/share/love/
  • Mac: /Users/user/Library/Application Support/LOVE/

쓰기 모드로 열린 파일은 쓸 수 있는 저장소가 하나밖에 없으니 저장시 루트를 세이브 디렉토리로 해서 생성됩니다.

읽기 모드로 열린 파일은 세이브 디렉토리와 .love 압축 파일 두 군데에 동시에 접근할 수 있습니다. 여기서 한 가지 문제점이 발생하는데, love.filesystem은 이 두 위치를 모두 루트로 취급한다는 것입니다. 따라서 만약 동일한 이름과 경로를 가진 파일이 .love 압축 파일과 세이브 디렉토리 둘 다 존재할 경우, 세이브 디렉토리에 있는 파일을 우선적으로 접근하게 됩니다.

정리하자면, 모든 경로는 .love 압축 파일과 세이브 디렉토리가 루트 디렉토리로 간주되어진 경로입니다. (get*Directory()를 통한 접근 제외)

conf.lua에서 세이브 디렉토리의 이름을 정해보세요. love.filesystem.setIdentity에서 설정할 수도 있습니다.

타입

File (한국어) 파일 시스템 위에서 동작하는 파일을 표현합니다.
FileData (한국어) 파일 내부의 콘텐츠를 가리키는 데이터 입니다.

함수

love.filesystem.append (한국어) 이미 존재하는 파일에 데이터를 추가합니다. Added since 0.9.0
love.filesystem.createDirectory (한국어) 디렉토리를 생성합니다. Added since 0.9.0
love.filesystem.exists (한국어) 파일이나 디렉토리가 존재하는지 확인합니다.
love.filesystem.getAppdataDirectory (한국어) 앱데이터 디렉토리를 받아옵니다.
love.filesystem.getDirectoryItems (한국어) 특정 디렉토리 내에 있는 모든 파일과 하위 디렉토리를 나열한 테이블을 리턴합니다. Added since 0.9.0
love.filesystem.getIdentity (한국어) 여러분의 게임에서 사용하고 있는 세이브 디렉토리의 이름을 구합니다. Added since 0.9.0
love.filesystem.getLastModified (한국어) 해당 파일을 마지막으로 수정한 날짜를 구합니다. Added since 0.7.1
love.filesystem.getSaveDirectory (한국어) 세이브 디렉토리의 완전한 경로를 얻어옵니다.
love.filesystem.getSize (한국어) 파일의 바이트 수를 구합니다. Added since 0.9.0
love.filesystem.getUserDirectory (한국어) 사용자 디렉토리를 받아옵니다.
love.filesystem.getWorkingDirectory (한국어) 현재 작업 디렉토리를 받아옵니다.
love.filesystem.init (한국어) love.filesystem을 초기화합니다. 내부적으로 사용되는 함수이므로 함부로 호출하지 마세요.
love.filesystem.isDirectory (한국어) 무언가가 디렉토리인지 확인합니다.
love.filesystem.isFile (한국어) 무언가가 파일인지 확인합니다.
love.filesystem.isFused (한국어) 게임이 퓨즈 모드로 설정되어 있는지 조사합니다. Added since 0.9.0
love.filesystem.lines (한국어) 텍스트 파일을 한 줄씩 읽는 반복자를 리턴합니다.
love.filesystem.load (한국어) 루아 파일을 불러오기만 합니다. 불러옴과 동시에 실행하지는 않습니다.
love.filesystem.mount (한국어) zip 파일을 마운트합니다. Added since 0.9.0
love.filesystem.newFile (한국어) 새 파일 객체를 생성합니다.
love.filesystem.newFileData (한국어) FileData 객체를 생성합니다. Added since 0.7.0
love.filesystem.read (한국어) 파일을 읽습니다.
love.filesystem.remove (한국어) 파일이나 디렉토리를 제거합니다.
love.filesystem.setIdentity (한국어) 여러분의 게임에서 사용할 세이브 디렉토리의 이름을 정합니다.
love.filesystem.setSource (한국어) 소스 코드가 있는 위치를 설정합니다.
love.filesystem.unmount (한국어) love.filesystem.mount로 마운트된 zip 파일을 언마운트 합니다. Added since 0.9.0
love.filesystem.write (한국어) 세이브 디렉토리에 파일을 씁니다.

열거형

FileMode (한국어) 파일을 열 때 사용하는 여러 가지 모드입니다.

같이 보기

다른 언어