JavaとC#のコンソール/ファイル入出力のチートシート

自分は組込み屋なのでC/C++は年中使ってて文法や標準関数忘れることはあんまりないけど、めったに使わないJavaC#なんかはすぐ忘れてしまう。なので、ちょっとメモ。

Java

// #include <stdio.h>
import java.io.*;
// putc, puts, pfintf
System.out.println("Hello, world!");  // 改行あり
System.out.print("Hello, world! ");   // 改行なし
System.out.println("x = " + x);
System.out.printf("x = %f%n", x);     // %n に注意
// getc
int c = System.in.read();
// gets, scanf
DataInputStream in = new DataInputStream(System.in);
String s = in.readLine();
int n = Integer.parseInt(s);
// fopen,fputs,fprintf,fclose
FileWriter writer = new FileWriter("out.txt");
writer.write("Hello, world!\n");
writer.close();
// fgets
FileReader reader = new FileReader("in.txt");
BufferedReader br = new BufferedReader(reader);
String line = br.readLine();
reader.close();
// fwrite
FileOutputStream out = new FileOutputStream("out.bin");
out.write("hoge".getBytes());
out.write(123);
out.close();
// fread
FileInputStream in = new FileInputStream("in.bin");
byte buff[] = new byte[16];
in.read(buff, 0, 16);
String s = new String(buff);
int num = in.read();
in.close();
// exit
System.exit(0);

C#

// #include <stdio.h>
using System.IO;
// putc, puts, pfintf
Console.WriteLine("Hello, world!");  // 改行あり
Console.Write("Hello, world! ");     // 改行なし
Console.WriteLine("x = " + x);
Console.WriteLine("x = {0}", x);
// getc
int c = Console.Read();
// gets, scanf
string s = Console.ReadLine();
int n = Convert.ToInt32(s);
// fopen,fputs,fprintf,fclose
StreamWriter writer = File.CreateText("out.txt");
writer.WriteLine("Hello, world!");
writer.Close();
// fgets
StreamReader reader = File.OpenText("in.txt");
string line = reader.ReadLine();
reader.Close();
// fwrite
BinaryWriter out = new BinaryWriter(File.OpenWrite("out.bin"));
out.Write("Text data");
out.Write(123);
out.Close();
// fread
BinaryReader in = new BinaryReader(File.OpenRead("in.bin"));
string s = in.ReadString();
int num = in.ReadInt32();
in.Close();
// exit
System.Environment.Exit(0);
// Application.Exit() はメッセージループを止める

Objective-C

(゚д゚)シラネ