Create  Edit  Diff  XUL Wiki  Index  Search  Changes  History  Source  RSS  wikifarm  Login

ローカルファイルとフォルダの操作

nsILocalFile

ローカルのファイルとフォルダの操作には、ともに nsILocalFile を使います。

nsILocalFile の初期化

c:\test.txt の nsiLocalFile を得る

var localFile = Components.classes['@mozilla.org/file/local;1']
                    .createInstance(Components.interfaces.nsILocalFile);
localFile.initWithPath("d:\\test.txt");

または、

var LocalFileConstructor = new Components.Constructor(
            "@mozilla.org/file/local;1", "nsILocalPath", "initWithFile");
var localFile = new LocalFileConstructor("d:\\test.txt");

ファイルとディレクトリの作成

ファイルの作成には、create メソッドを用いる。 第二引数は、ファイルのパーミッションで、 Unix 系OS でのみ効果があります。

var testFile = new LocalFileConstructor("d:\\test.txt");
testFile.create(testFile.NORMAL_FILE_TYPE, 0666);

ディレクトリも同様に作成できます。

var testDir = new LocalFileConstructor("d:\\test");
testFile.create(testFile.DIRECTORY_TYPE, 0777);

ディレクトリの内容取得

ディレクトリの内容は、nsILocalFile の directoryEntries プロパティで得ることができます。

directoryEntries は、nsILocalFile を含んだ nsISimpleEnumerator です。詳しくは、 nsISimpleEnumerator を使う を参照してください。

var testDir = new LocalFileConstructor("d:\\test");

var entries = testDir.directoryEntries;
while(entries.hasMoreElements()){
    var entry =  entries.getNext().QueryInterface(Components.interfaces.nsILocalFile);
    alert(entry.leafName);
}

prio.h

Open flags

PR_RDONLY = 0x01
Open for reading only.
PR_WRONLY = 0x02
Open for writing only.
PR_RDWR = 0x04
Open for reading and writing.
PR_CREATE_FILE = 0x08
If the file does not exist, the file is created If the file exists, this flag has no effect.
PR_APPEND = 0x10
The file pointer is set to the end of the file prior to each write.
PR_TRUNCATE = 0x20
If the file exists, its length is truncated to 0.
PR_SYNC = 0x40
If set, each write will wait for both the file data and file status to be physically updated.
PR_EXCL = 0x80
With PR_CREATE_FILE, if the file does not exist, the file is created. If the file already exists, no action and NULL is returned

File mode bits

  • 0400 Read by owner.
  • 0200 Write by owner.
  • 0100 Execute (search if
  • 0040 Read by group.
  • 0020 Write by group.
  • 0010 Execute by group.
  • 0004 Read by others.
  • 0002 Write by others
  • 0001 Execute by others.

Directory mode bits

  • 00400 Read by owner.
  • 00200 Write by owner.
  • 00100 Search by owner.
  • 00040 Read by group.
  • 00020 Write by group.
  • 00010 Search by group.
  • 00004 Read by others.
  • 00002 Write by others.
  • 00001 Search by others.

Strom Gas Preisvergleich in Bayern Strompreise Vergleich in Berlin Strom tarifvergleich in Hamburg

Last modified:2010/04/16 19:56:23
Keyword(s):
References:[XUL Wiki]