Home Reference Source
import SFile from 'senkowsh/src/senko/SFile.js'
public class | source

SFile

ファイル/フォルダ/URLを扱うクラス

Static Method Summary

Static Public Methods
public static

compress(input_file: SFile | string | SFile[] | string[], output_file: SFile | string): boolean

圧縮する

  • 圧縮後のファイル名の拡張子で圧縮したい形式を指定する
  • Windows標準の機能を使用して圧縮する( zip のみ対応)
  • 外部ツール 7-Zip がインストール/設定されている場合は、それを利用して圧縮する
public static

テンポラリフォルダ内の適当なファイル名を取得

public static

extract(input_file: SFile | string, output_file: SFile | string): boolean

展開する

  • Windows標準の機能を使用して展開する( zip のみ対応)
  • 外部ツール 7-Zip がインストール/設定されている場合は、それを利用して展開する
public static

findFile(from: string | SFile, target: string | SFile | RegExp | function(prm1: SFile): boolean): SFile | null

指定した条件にあうファイルを探す

  • from のディレクトリ配下で条件に合ったファイルを返します
  • 見つかったら探索を中止します
  • 見つからない場合は null を返します
public static

findFiles(from: string | SFile, target: string | SFile | RegExp | function(prm1: SFile): boolean): SFile[]

指定した条件にあう全ファイルを探す

  • from のディレクトリ配下で条件に合ったファイル一覧を返します
public static

圧縮/展開用のツールを取得する

  • このツールを利用して compress, extract が実行されます
  • 未設定/未インストールの場合は、Windows標準の機能のみを利用し、zipのみ対応します
  • 取得できない場合は null を返します
public static

カレントディレクトリを取得

public static

圧縮/展開用のツールを設定する

  • このツールを利用して compress, extract が実行されます
  • 未設定/未インストールの場合は、Windows標準の機能のみを利用し、zipのみ対応します
  • 7-zip のコマンドライン版 (7za.exe)のみ対応
public static

カレントディレクトリを設定

Constructor Summary

Public Constructor
public

constructor(pathname: string | SFile)

初期化

Member Summary

Private Members
private

fso: any

private
private

Method Summary

Public Methods
public

copy(file_obj: string | SFile): boolean

ファイルのコピー

public

each(func: function(prm1: SFile): boolean): boolean

フォルダの中のフォルダとファイルに対して指定した関数を実行する

public

ファイルが存在するか

public

絶対パスを取得

public

サブフォルダの中まで探索して全てのファイルとフォルダを取得

public

拡張子(ドットを含まない)

public

配下のファイル名の一覧を取得

public

getHashCode(algorithm: string): string

ファイルのハッシュ値を計算する

public

名前を取得

public

区切り文字と終端を正規化した文字列を取得

public

親フォルダの絶対パス

  • 通常のフォルダの場合は、最後の「/」は除去される
  • URLなら最後にスラッシュをつけて返す
public

親フォルダ

public

配下のサブフォルダ名の一覧を取得

public

絶対パスかどうか

public

フォルダかどうか

public

ファイルかどうか

public

隠しファイルかどうか

public

読み取り専用ファイルかどうか

public

更新日を取得

public

ファイルサイズ

public

list(): string[]

配下のファイル名とフォルダ名を取得

public

フォルダを作成

  • フォルダは1つのみ指定可能
  • すでにフォルダがある場合はエラーを返す
public

フォルダを作成

  • 作成したいフォルダを続けて記載が可能
  • フォルダがない場合はフォルダを作成していく
public

move(file_obj: string | SFile): boolean

ファイルの移動

  • 移動後の this は、移動後のファイルを指す
  • this がファイルの場合、ディレクトリを選択すると、ディレクトリ内へファイルを移動させます
  • this がファイルの場合、ファイルを選択すると、ディレクトリの移動かつファイル名を変更します
  • this がディレクトリの場合、指定したディレクトリへファイルを移動させるため、ディレクトリ名の変更は行えません
public

readBinary(offset: number, size: number): number[] | null

ローカル、インターネット上のファイルをバイナリとして開く

  • 開けない場合は null を返す
  • 参考速度:0.5 sec/MB
  • 巨大なファイルの一部を調べる場合は、位置とサイズを指定した方がよい
public

readString(charset: string): string

ローカル、インターネット上のファイルをテキストとして開く

  • 開けない場合は null を返す
  • 改行コードは \n に統一される
public

remove(is_force: boolean): boolean

ファイルの削除(ゴミ箱には入りません)

public

renameTo(file_obj: string | SFile): boolean

ファイル名を変更

  • 変更後の this は、変更後のファイルを指す
  • 引数はフルパスを渡した場合でもファイル名のみ使用する
public

run(style: number, is_wait: boolean): void

実行ファイルを起動する

public

setHidden(is_hidden: boolean, is_allfiles: boolean): boolean

隠しファイルかどうかを設定する

public

更新日を設定(ファイルのみ対応)

public

setReadOnly(is_readonly: boolean, is_allfiles: boolean): boolean

読み取り専用ファイルかどうかを設定する

public

文字列化

public

writeBinary(array_: number[], offset: number): boolean

バイナリファイルを保存

  • 保存できなかった場合は false を返す
  • 参考速度:1.0 sec/MB
public

1行書き加える

public

writeString(text: string, charset: string, newline: string, issetBOM: boolean): boolean

テキストファイルを保存

  • 保存できなかった場合は false を返す
  • 変換先の文字コードに存在しない文字は、"?"に変換される

Static Public Methods

public static compress(input_file: SFile | string | SFile[] | string[], output_file: SFile | string): boolean source

圧縮する

  • 圧縮後のファイル名の拡張子で圧縮したい形式を指定する
  • Windows標準の機能を使用して圧縮する( zip のみ対応)
  • 外部ツール 7-Zip がインストール/設定されている場合は、それを利用して圧縮する

Params:

NameTypeAttributeDescription
input_file SFile | string | SFile[] | string[]

圧縮したいファイル

output_file SFile | string

圧縮後のファイル名

Return:

boolean

result

public static createTempFile(): SFile source

テンポラリフォルダ内の適当なファイル名を取得

Return:

SFile

public static extract(input_file: SFile | string, output_file: SFile | string): boolean source

展開する

  • Windows標準の機能を使用して展開する( zip のみ対応)
  • 外部ツール 7-Zip がインストール/設定されている場合は、それを利用して展開する

Params:

NameTypeAttributeDescription
input_file SFile | string

展開したいファイル

output_file SFile | string

展開先のフォルダ

Return:

boolean

result

public static findFile(from: string | SFile, target: string | SFile | RegExp | function(prm1: SFile): boolean): SFile | null source

指定した条件にあうファイルを探す

  • from のディレクトリ配下で条件に合ったファイルを返します
  • 見つかったら探索を中止します
  • 見つからない場合は null を返します

Params:

NameTypeAttributeDescription
from string | SFile
target string | SFile | RegExp | function(prm1: SFile): boolean

Return:

SFile | null

public static findFiles(from: string | SFile, target: string | SFile | RegExp | function(prm1: SFile): boolean): SFile[] source

指定した条件にあう全ファイルを探す

  • from のディレクトリ配下で条件に合ったファイル一覧を返します

Params:

NameTypeAttributeDescription
from string | SFile
target string | SFile | RegExp | function(prm1: SFile): boolean

Return:

SFile[]

public static getCompressTool(): SFile | null source

圧縮/展開用のツールを取得する

  • このツールを利用して compress, extract が実行されます
  • 未設定/未インストールの場合は、Windows標準の機能のみを利用し、zipのみ対応します
  • 取得できない場合は null を返します

Return:

SFile | null

result

public static getCurrentDirectory(): SFile source

カレントディレクトリを取得

Return:

SFile

public static setCompressTool(tool_path: SFile | string): boolean source

圧縮/展開用のツールを設定する

  • このツールを利用して compress, extract が実行されます
  • 未設定/未インストールの場合は、Windows標準の機能のみを利用し、zipのみ対応します
  • 7-zip のコマンドライン版 (7za.exe)のみ対応

Params:

NameTypeAttributeDescription
tool_path SFile | string

ツールのファイルパス

Return:

boolean

result

public static setCurrentDirectory(file_obj: string | SFile) source

カレントディレクトリを設定

Params:

NameTypeAttributeDescription
file_obj string | SFile

Public Constructors

public constructor(pathname: string | SFile) source

初期化

Params:

NameTypeAttributeDescription
pathname string | SFile

ファイル名/フォルダ名/URLアドレス

Private Members

private fso: any source

private is_http: boolean source

private pathname: string source

Public Methods

public copy(file_obj: string | SFile): boolean source

ファイルのコピー

Params:

NameTypeAttributeDescription
file_obj string | SFile

Return:

boolean

public each(func: function(prm1: SFile): boolean): boolean source

フォルダの中のフォルダとファイルに対して指定した関数を実行する

Params:

NameTypeAttributeDescription
func function(prm1: SFile): boolean

戻り値がfalseで処理を終了。

Return:

boolean

result

public exists(): boolean source

ファイルが存在するか

Return:

boolean

public getAbsolutePath(): string source

絶対パスを取得

Return:

string

public getAllFiles(): SFile[] source

サブフォルダの中まで探索して全てのファイルとフォルダを取得

Return:

SFile[]

public getExtensionName(): string source

拡張子(ドットを含まない)

Return:

string

public getFiles(): string[] source

配下のファイル名の一覧を取得

Return:

string[]

public getHashCode(algorithm: string): string source

ファイルのハッシュ値を計算する

Params:

NameTypeAttributeDescription
algorithm string
  • optional
  • default: "MD5"

アルゴリズム

Return:

string

半角英数の16進数で表したハッシュ値、失敗時は"0"

public getName(): string source

名前を取得

Return:

string

public getNormalizedPathName(): string source

区切り文字と終端を正規化した文字列を取得

Return:

string

public getParent(): string source

親フォルダの絶対パス

  • 通常のフォルダの場合は、最後の「/」は除去される
  • URLなら最後にスラッシュをつけて返す

Return:

string

public getParentFile(): SFile source

親フォルダ

Return:

SFile

public getSubFolders(): string[] source

配下のサブフォルダ名の一覧を取得

Return:

string[]

public isAbsolute(): boolean source

絶対パスかどうか

Return:

boolean

public isDirectory(): boolean source

フォルダかどうか

Return:

boolean

public isFile(): boolean source

ファイルかどうか

Return:

boolean

public isHidden(): boolean source

隠しファイルかどうか

Return:

boolean

public isReadOnly(): boolean source

読み取り専用ファイルかどうか

Return:

boolean

public lastModified(): Date source

更新日を取得

Return:

Date

public length(): number source

ファイルサイズ

Return:

number

public list(): string[] source

配下のファイル名とフォルダ名を取得

Return:

string[]

public mkdir(): boolean source

フォルダを作成

  • フォルダは1つのみ指定可能
  • すでにフォルダがある場合はエラーを返す

Return:

boolean

public mkdirs(): boolean source

フォルダを作成

  • 作成したいフォルダを続けて記載が可能
  • フォルダがない場合はフォルダを作成していく

Return:

boolean

public move(file_obj: string | SFile): boolean source

ファイルの移動

  • 移動後の this は、移動後のファイルを指す
  • this がファイルの場合、ディレクトリを選択すると、ディレクトリ内へファイルを移動させます
  • this がファイルの場合、ファイルを選択すると、ディレクトリの移動かつファイル名を変更します
  • this がディレクトリの場合、指定したディレクトリへファイルを移動させるため、ディレクトリ名の変更は行えません

Params:

NameTypeAttributeDescription
file_obj string | SFile

移動先のファイル名及びディレクトリ

Return:

boolean

public readBinary(offset: number, size: number): number[] | null source

ローカル、インターネット上のファイルをバイナリとして開く

  • 開けない場合は null を返す
  • 参考速度:0.5 sec/MB
  • 巨大なファイルの一部を調べる場合は、位置とサイズを指定した方がよい

Params:

NameTypeAttributeDescription
offset number
  • optional

位置(※ 指定すると速度が低下する)

size number
  • optional

サイズ(※ 指定すると速度が低下する)

Return:

number[] | null

public readString(charset: string): string source

ローカル、インターネット上のファイルをテキストとして開く

  • 開けない場合は null を返す
  • 改行コードは \n に統一される

Params:

NameTypeAttributeDescription
charset string
  • optional
  • default: "_autodetect_all"

文字コード

Return:

string

public remove(is_force: boolean): boolean source

ファイルの削除(ゴミ箱には入りません)

Params:

NameTypeAttributeDescription
is_force boolean
  • optional
  • default: false

読み取り専用でも削除する

Return:

boolean

public renameTo(file_obj: string | SFile): boolean source

ファイル名を変更

  • 変更後の this は、変更後のファイルを指す
  • 引数はフルパスを渡した場合でもファイル名のみ使用する

Params:

NameTypeAttributeDescription
file_obj string | SFile

変更後のファイル名

Return:

boolean

public run(style: number, is_wait: boolean): void source

実行ファイルを起動する

Params:

NameTypeAttributeDescription
style number
  • optional
  • default: 1

起動オプション

is_wait boolean
  • optional
  • default: false

プロセスが終了するまで待つ

Return:

void

public setHidden(is_hidden: boolean, is_allfiles: boolean): boolean source

隠しファイルかどうかを設定する

Params:

NameTypeAttributeDescription
is_hidden boolean
is_allfiles boolean
  • optional
  • default: false

Return:

boolean

public setLastModified(date: Date): boolean source

更新日を設定(ファイルのみ対応)

Params:

NameTypeAttributeDescription
date Date

Return:

boolean

public setReadOnly(is_readonly: boolean, is_allfiles: boolean): boolean source

読み取り専用ファイルかどうかを設定する

Params:

NameTypeAttributeDescription
is_readonly boolean
is_allfiles boolean
  • optional
  • default: false

Return:

boolean

public toString(): string source

文字列化

Return:

string

public writeBinary(array_: number[], offset: number): boolean source

バイナリファイルを保存

  • 保存できなかった場合は false を返す
  • 参考速度:1.0 sec/MB

Params:

NameTypeAttributeDescription
array_ number[]
offset number
  • optional

位置(※ 指定すると速度が低下する)

Return:

boolean

public writeLine(text: string): boolean source

1行書き加える

Params:

NameTypeAttributeDescription
text string

Return:

boolean

public writeString(text: string, charset: string, newline: string, issetBOM: boolean): boolean source

テキストファイルを保存

  • 保存できなかった場合は false を返す
  • 変換先の文字コードに存在しない文字は、"?"に変換される

Params:

NameTypeAttributeDescription
text string
charset string
  • optional
  • default: "utf-8"

文字コード

newline string
  • optional
  • default: "\n"

改行コード

issetBOM boolean
  • optional
  • default: true

BOMの有無(utf-8のみ有効 )

Return:

boolean