RSS

C#: ファイル情報

28 4月

ファイル情報は File クラスのスタティックメソッドで取得できる。あるいは FileInfo クラスをインスタンス化して取得することもできる。

// FileInfo
Action<Object> println = o => Console.WriteLine(o.ToString());
Action<String, Object> printf = (format, data) => Console.WriteLine(format, data);
Func<string> readln = () => Console.ReadLine() ?? "";
Action<int> exit = code => Environment.Exit(code);
Func<bool> isLinux = () => Environment.OSVersion.Platform == PlatformID.Unix;
Func<bool> isWindows = () => Environment.OSVersion.Platform == PlatformID.Win32NT;

println("<< ファイル情報 >>");

string path = "";
if (args.Length > 0)
{
  path = args[0];
}

// ファイルが存在するか?
var b = File.Exists(path);
println(b);
if (!b)
{
  exit(1);
}

// ファイルサイズ (実サイズ)
var fi = new FileInfo(path);
println(fi.Length);

// 日付 (最終更新時)
var written = File.GetLastWriteTime(path);
printf("{0:yyyy-MM-dd hh:mm:ss}", written);

// Linux のファイルモード
if (isLinux())
{
  enum UnixFileMode fm = File.GetUnixFileMode(path);
  printf("{0:b16}", fm);
}

 
コメントする

投稿者: : 2024/04/28 投稿先 C#, dotNET

 

タグ: ,

コメントを残す