各種開発言語で「ファイル読み込んで表示」まとめ

How To Programming

Hello,Worldに続いて今回は各種開発言語におけるファイルを読み込んで表示する方法についてまとめました。基本的にLinuxでターミナル上での実行手順の一例となります。
尚、ここでは理解をしやすいようにシンプルにエラー処理や例外処理は含めない基本構造のみとしています。(※java、goを除く)

また、ファイル読込にあたり、全て以下の内容を記載した「Hello.txt」というファイルを同一ディレクトリに作成して読込みむものとします。

Hello,World!

perl

#!/usr/bin/perl
#
open (IN,"Hello.txt");
#
while (<IN>){
        print $_;
}
close IN;

上記コードをHello.plと名前をつけて保存し、chmod +x Hello.plで実行権限を付与。ターミナルで./Hello.plで実行。

python

#!/usr/bin/python3
file = open("Hello.txt")
print(file.read())
file.close()

上記コードをHello.pyと名前をつけて保存し、chmod +x Hello.pyで実行権限を付与。ターミナルで./Hello.pyで実行。

ruby

#!/usr/bin/ruby
file=open("Hello.txt")
print file.read
file.close

上記コードをHello.rbと名前をつけて保存し、chmod +x Hello.rbで実行権限を付与。ターミナルで./Hello.rbで実行。

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[]){
                try{
                        File file = new File("Hello.txt");
                        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);
                }
        }
}

go

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

上記コードをHello.goと名前をつけて保存し、ターミナルでgo run Hello.goで実行。go build Hello.goとすると、Helloという実行ファイルが生成され、./Helloでも実行可能。

node.js

const fs = require('fs');
const msg = fs.readFileSync("Hello.txt",{encoding:"UTF-8"});
console.log(msg);

上記コードをHello.jsと名前をつけて保存し、
ターミナルでnode Hello.jsで実行。

c

#include<stdio.h>
int main(){
        FILE *fp;
        char text[20],*pa;
        fp=fopen("Hello.txt","r");
        pa=fgets(text,20,fp);
        printf("%s\n",text);
        fclose(fp);
}

ターミナルでgcc -o Helloc Hello.cを実行すると、Hellocという実行ファイルが生成される。ターミナルで./Hello.cで実行。

cpp

#include <fstream>
#include <iostream>
#include <string>

int main()
{
    std::ifstream ifs("Hello.txt");
    std::string str;
    getline(ifs, str);
    std::cout << str << std::endl;
}

ターミナルでg++ -o Hellocpp Hello.cppを実行すると、Hellocppという実行ファイルが生成される。ターミナルで./Hello.cppで実行。

objective-c

#import <stdio.h>
int main( int argc, const char *argv[] ) {
        FILE *fp;
        char text[20],*pa;
        fp=fopen("Hello.txt","r");
        pa=fgets(text,20,fp);
        printf("%s\n",text);
        fclose(fp);
        return 0;
}

上記コードをHello.mと名前をつけて保存し、
ターミナルでgcc -o Hellom Hello.mを実行すると、Hellom という実行ファイルが生成される。./Hellomで実行可能。
以下はLinuxでobjective-cの開発環境構築に必要なもの。

sudo apt install gobjc libgnustep-base-dev gnustep gnustep-devel

c#

using System;
using System.IO;
using System.Text;
    class Program
    {
        static void Main()
        {
            	StreamReader sr = new StreamReader(@"Hello.txt",Encoding.GetEncoding("UTF-8"));
		string str = sr.ReadToEnd();
		sr.Close();
		Console.WriteLine(str);
        }
    }