S-JIS[2005-01-16/2007-11-30] 変更履歴

プログラミング言語比較

コンソール入出力・ファイル入出力

  • MS-DOS [2006-02-26/2006-07-07]
  • UNIX [2006-02-26/2006-07-06]
  • MSX-BASIC [2005-01-16/2006-07-26]
  • VisualBasic for Application [2005-01-16/2006-08-29]
  • VBScript [2007-04-06]
  • VB.NET [2007-03-15/2007-11-27]
  • PASCAL [2005-02-10]
  • PL/I [2005-01-16]
  • Perl [2005-03-12/2006-07-11]
  • C言語(gcc, WIN32) [2005-01-16/2006-10-18]
  • Visual C++(MFC) [2005-01-16/2007-06-02]
  • Java [2005-01-16/2007-11-30]
  • JavaScript [2006-01-08/2006-07-02]
  • C# [2006-03-04/2006-07-24]
  • SQL(Oracle[2005-02-07/2006-07-08]
  • PL/SQL(Oracle) [2005-02-27/2006-07-08]
  • Common Lisp [2005-04-04]
 
コンソール出力(改行有/改行無/複数) echo echo PRINT 値
? 値

→「?」はPRINTの省略形
Debug.Print 値 WScript.Echo 値
WScript.StdOut.WriteLine 値
Debug.WriteLine(値) writeln(値)   print "値\n"; printf("%s\r\n",文字列); TRACE("%s\n",文字列); System.out.println(値); document. writeln(値);
出力先はコンソールじゃなくてHTMLだけど
Console.WriteLine(値); SELECT  値 FROM DUAL; DBMS_OUTPUT.PUT_LINE(値);
sql*plusでは、serveroutputをonにしておかないと何も出力されない
(print 値)
(format t "書式~%" 値)
    PRINT 値; Debug.Print 値; WScript.StdOut.Write 値 Debug.Write(値) write(値)   print 値;
「print;」のみだと、暗黙の変数$_の内容が出力される
printf("%s",文字列); TRACE("%s",文字列); System.out.print(値); document. write(値); Console.Write(値);   DBMS_OUTPUT.PUT(値);
最後にDBMS_OUTPUT.NEW_LINE;を実行しないと、出力されない
(prin1 値)
(prin1 値 nil)
(write 値)
(format t "書式" 値)
echo 値 値… echo 値 値…

cat <<キーワード
文字列

キーワード
PRINT 値,値,…
PRINT 値;値;…
Debug.Print 値,値,…
Debug.Print 値;値;…
    write(値,値,…)   print 値,値,…;
print(値,値,…);

print <<キーワード;
文字列

キーワード
printf("%s %s…",文字列,文字列,…); TRACE("%s %s…",文字列,文字列,…); System.out.printf("%s %s…",文字列,文字列,…);          
画面入力 pause                           pause メッセージ    
set /p 変数=プロンプト read 変数     変数 = WScript.StdIn.ReadLine                   &文字列 &文字列  
 
テキストファイル入力 コマンド < ファイル名

for /f 変数 in (ファイル名) do 〜
コマンド < ファイル名 OPEN "ファイル名" FOR INPUT AS #1 Open "ファイル名" For Input As #1 Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set r = fs.OpenTextFile("ファイル名", 1)
Dim reader As StreamReader
reader = New StreamReader("ファイル名", エンコーディング)
var ファイル変数:file of char;

reset(ファイル変数)

オープン
DCL ファイル変数 FILE INPUT RECORD; open(HANDLE,"ファイル名"); FILE *fp=fopen("ファイル名","rt"); CStdioFile f;
f.Open("ファイル名",CFile::modeRead);
BufferedReader reader = new BufferedReader(new FileReader("ファイル名")); File f = new File("ファイル名");
RandomAccessFile ra = new RandomAccessFile(f, "r");
  using(StreamReader reader = new StreamReader("ファイル名"))
{
@ファイル名
@@ファイル名
DECLARE
file UTL_FILE.FILE_TYPE;

file:=UTL_FILE.FOPEN('ディレクトリ','ファイル名','R',最大の行サイズ);
(with-open-file (file (pathname "ファイル名") :direction :input))
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream("ファイル名"), "MS932")); using(StreamReader reader = new StreamReader("ファイル名", エンコーディング))
{
INPUT #1,変数,変数… Input #1,変数,変数… 変数 = r.ReadLine 変数 = reader.ReadLine() read(ファイル変数,c)
1文字ずつ読み込み
READ FILE(ファイル変数) INTO(変数); $変数 = <HANDLE>;
「<HANDLE>」のみだと、暗黙の変数$_に入る
fscanf(fp,"%s",変数); f.ReadString(変数); String 変数 = reader.readLine(); String 変数 = ra.readLine();   string 変数 = reader.ReadLine();   DECLARE
バッファ VARCHAR2(値);

LOOP
 UTL_FILE.GET_LINE(file,バッファ);
END LOOP;
(setq 変数 (read file))
(setq 変数 (read-line file))
    r.AtEndOfLine   eoln(ファイル変数)                      
EOF(1) EOF(1) r.AtEndOfStream reader.ReadLine() = Nothing eof(ファイル変数)     feof(fp)   !reader.ready() ra.readLine()==null   reader.ReadLine()==null   例外が発生する
EXCEPTION
WHEN NO_DATA_FOUND THEN
 〜
 
CLOSE #1 Close #1 r.Close reader.Close()     close(HANDLE); fclose(fp); f.Close(); reader.close(); ra.close();   }   UTL_FILE.FCLOSE(file); (close file)
テキストファイル出力 echo 値> ファイル名 echo 値 > ファイル名 OPEN "ファイル名" FOR OUTPUT AS #1 Open "ファイル名" For Output As #1 Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set w = fs.OpenTextFile("ファイル名", 2)
8ならappend
'Set w = fs.CreateTextFile("ファイル名", True)
Dim writer As StreamWriter
writer = New StreamWriter(ファイル名, False, エンコーディング)
var ファイル変数:file of char;

rewrite(ファイル変数)

オープン
  open(HANDLE,">ファイル名"); FILE *fp=fopen("ファイル名","wt"); CStdioFile f;
f.Open("ファイル名",CFile::modeCreate | CFile::modeWrite);
BufferedWriter writer=new BufferedWriter(new FileWriter("ファイル名")); File f = new File("ファイル名");
RandomAccessFile ra = new RandomAccessFile(f, "rw");
  using(StreamWriter writer = new StreamWriter("ファイル名", false, エンコーディング))
{

trueならAppend
spool ファイル名
sql*plus
DECLARE
file UTL_FILE.FILE_TYPE;

file:=UTL_FILE.FOPEN('ディレクトリ','ファイル名','W');
(with-open-file (file (pathname "ファイル名") :direction :output))
PRINT #1,値,値… Print #1,値,値,… w.Write "文字列" writer.Write("文字列") write(ファイル変数,c)
1文字ずつ書き込み
  print HANDLE 値; fprintf(fp,"%s",文字列); f.WriteString(文字列); writer.write(文字列); ra.writeUTF(文字列);   writer.WriteLine(文字列); 通常のSQLを実行
sql*plus
UTL_FILE.PUT(file,'文字列');
UTL_FILE.PUT_LINE(file,'文字列');
(prin1 変数 file)
(print 変数 file)
(write-line "文字列" file)
w.WriteLine "文字列" writer.WriteLine("文字列")   fprintf(fp,"\n"); writer.newLine();    
      writer.Flush()       fflush(fp); f.Flush(); writer.flush();     writer.Flush();   UTL_FILE.FFLUSH(file); (finish-output file)
CLOSE #1 Close #1 w.Close writer.Close()     close(HANDLE); fclose(fp); f.Close(); writer.close(); ra.close();   }   UTL_FILE.FCLOSE(file); (close file)
 
バイナリファイル入力       Open "ファイル名" For Binary As #1   Dim バイト配列() As Byte = File.ReadAllBytes("ファイル名")       FILE *fp=fopen("ファイル名","rb"); CFile f;
f.Open("ファイル名",CFile::modeRead);
FileInputStream is = new FileInputStream("ファイル名");
File f = new File("ファイル名");
FileInputStream is = new FileInputStream(f);
File f = new File("ファイル名");
RandomAccessFile ra = new RandomAccessFile(f, "r");
  using(FileStream fs = new FileStream("ファイル名",FileMode.Open))
using(BinaryReader reader = new BinaryReader(fs))
{
byte[] バイト配列 = File.ReadAllBytes("ファイル名");      
      Dim dt As Byte
Get #1, , dt
        fread(ポインター,サイズ,fp); f.Read(ポインター,サイズ); is.read(バイト配列);
is.read(バイト配列,位置,サイズ);
ra.read(バイト配列);
ra.read(バイト配列,位置,サイズ);
byte[] バイト配列=reader.ReadBytes(fs.Length);      
      EOF(1)         feof(fp)   is.read() == -1 ra.read() == -1        
      Close #1         fclose(fp); f.Close(); is.close(); ra.close(); }      
バイナリファイル出力       Open "ファイル名" For Binary As #1
ファイル の中身はクリアされない。一度Outputで開けばクリアできる
  File.WriteAllBytes("ファイル名", バイト配列)   DCL ファイル変数 FILE OUTPUT RECORD;
ファイル変数名とデータセットの対応はJCLで指定
  FILE *fp=fopen("ファイル名","wb"); CFile f;
f.Open("ファイル名",CFile::modeCreate | CFile::modeWrite);
FileOutputStream os=new FileOutputStream("ファイル名"); File f = new File("ファイル名");
RandomAccessFile ra = new RandomAccessFile(f, "rw");
  using(FileStream fs = new FileStream("ファイル名",FileMode.Create))
using(BinaryWriter writer = new BinaryWriter(fs))
{
File.WriteAllBytes("ファイル名", バイト配列);      
      Dim dt As Byte
Put #1, , dt
    WRITE FILE(ファイル変数) FROM(変数);
変数は構造にし、総バイト数をファイルのレコードサイズと合わせる
  fwrite(ポインター,サイズ,fp); f.Write(ポインター,サイズ); os.write(バイト配列);
os.write(バイト配列,位置,サイズ);
ra.write(バイト配列);
ra.write(バイト配列,位置,サイズ);
writer.Write(バイト配列);      
                fflush(fp); f.Flush(); os.flush();   writer.Flush();      
      Close #1         fclose(fp); f.Close(); os.close(); ra.close(); }      
 
位置取得/移動     LOC(1) 位置 = Seek(1) r.Line Dim 位置 As Long = writer.BaseStream.Position       位置=ftell(fp); 位置=f.GetPosition();   long 位置 = ra.getFilePointer();   位置 = fs.Position;      
      Seek #1, 位置   writer.BaseStream.Position = 位置       fseek(fp,位置,SEEK_SET); f.Seek(位置,CFile::begin);
f.SeekToBegin();
f.SeekToEnd();
  ra.seek(位置);   fs.Position = 位置;
fs.Seek(位置, SeekOrigin.Begin);
     
長さ %~z wc   FileLen           fseek(fp,0,SEEK_END);
long len=ftell(fp);
DWORD len=f.GetLength(); long len = f.length();
int len = is.available();
long len = ra.length();   long len = fs.Length;      
ファイル名                     CString name = f.GetFileName();
CString path = f.GetFilePath();
String name = f.getName();   string name = fs.Name;      

言語比較全般へ戻る / 参考文献 / プログラム記号比較 / 技術メモへ戻る
メールの送信先:ひしだま