各種開発言語で「ファイル存在チェック」まとめ

How To Programming

さて、今回は各種開発言語におけるファイルの存在チェック方法についてまとめました。
今回も基本的にLinuxでのターミナル上での実行手順の一例となります。
存在チェック後にファイルを読み込むプログラム制御を含めています。

perl

#!/usr/bin/perl
use strict;
use warnings;

my $file = 'Hello.txt';
if (-e $file) {
    print "$fileが存在します。\n";
    open(IN,$file);
    while(<IN>){
        print $_;
    }
} else {
    print "$fileが存在しません。\n";
}

※-eの場合、対象がディレクトリでも存在確認が可能。ディレクトリと区別したい場合には-fを使う。

#!/usr/bin/perl
use strict;
use warnings;

my $file = 'Hello.txt';
if (-f $file) {
    print "$fileが存在します。\n";
    open(IN,$file);
    while(<IN>){
        print $_;
    }
} else {
    print "$fileが存在しません。\n";
}

python

#!/usr/bin/python3
#
import os
#
filename='Hello.txt'
if(os.path.exists(filename)):
    fileobj = open(filename)
    data = fileobj.read()
    fileobj.close()
    print(data)
else:
    print filename + " is not found\n"

ruby

#!/usr/bin/ruby
filename="Hello.txt"
if File.exist?(filename)
    fileobj=open(filename)
    print fileobj.read
    fileobj.close
else
    print filename + " is file Not Found\n"
end

java

import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.IOException;

public class Hello {

    public static void main(String args[]) {
        // 確認するフォルダとファイルのパスを指定する
        File file = new File("Hello.txt");

        // ファイルの存在を確認する
        if (file.exists()) {
            System.out.println("ファイルが存在します");
            try{
                BufferedReader br = new BufferedReader(new FileReader(file));
                String str = br.readLine();
                System.out.println(str);
                br.close();
            }catch(FileNotFoundException e){
                System.out.println(e);
            }catch(IOException e){
                System.out.println(e);
            }
        } else {
            System.out.println("ファイルが存在しません");
        }
    }

}

go

package main
import (
    "fmt"
    "io/ioutil"
)
func main() {
        file:="Hello.txt"
        text,err := ioutil.ReadFile(file)
        if err != nil {
        }
        fmt.Print(string(text))
}

c

#include<stdio.h>
int existFile(const char* path){
        FILE* fp=fopen(path,"r");
        if(fp==NULL){
                printf("NULL\n");
                return 0;
        }
        fclose(fp);
        return 1;
}
int main(){
        FILE *fp;
        char text[20],*pa;
        char filename[]={"Hello.txt"};
        fp=fopen(filename,"r");
        if (existFile(filename)){
                puts("存在します。");
                pa=fgets(text,20,fp);
                printf("%s\n",text);
                fclose(fp);
        }
        else{   
                puts("存在しません。");
        }
        return 0;
}