ファイル入出力Ⅱ

Size: px
Start display at page:

Download "ファイル入出力Ⅱ"

Transcription

1 ファイル入出力 Ⅱ 今回の課題項目 ストリーム ( 概要 概説 ) ストリーム ( ファイルストリーム ) ストリーム ( 文字ストリーム ) ストリーム ( バイナリストリーム ) ストリーム ( パイプストリーム ) 今回の重点項目 ストリームの基本 ( 概要 概説 使用クラス ) ストリームの実践 ( ファイルストリーム 文字ストリーム バイナリストリーム ) ストリームの実践 ( パイプストリーム ) -1-

2 ストリーム プログラムでは一般に 多くの種類のデータを 多くの種類の入力先から取得して 多くの種類の出力先へ書き込む必要が考えられる Java では 此等のデータの入出力 (I/O) は一般にストリームとして解釈する事に成る 入力元へのストリームを開いて情報を読み込み 出力先へのストリームを開いて情報を書き込み 必要が無く成れば其等のストリームを閉じる 此等のストリームを扱う為の標準クラスライブラリは java.io パッケージから提供される 此等のクラスは一 般に 取り扱うデータの種類に応じて文字ストリームとバイトストリームの二つに分けられる 然して 此等 のストリームはオブジェクトとして扱われる ストリーム概要 ストリームとはデータの直線的な流れと謂う概念で有り 現代的なプログラミング言語では 入出力をストリームとして扱う 例えば ディスク上のファイルに向かうストリームが有る時 其処に書き込んだデータはファイルに出力される ネットワークから流れ込むストリームからはネットワーク越しのデータを受け取る事が出来る プログラマはストリームに対する入出力を考える丈で 其の流れ行く果ての 実デバイスに対しては考えなくて良く成る Java ではデータ I/O にストリームと謂う概念を使用する java.io パッケージ内のストリームクラスは 大きく分けると バイトストリーム 文字ストリーム オブジェクトストリームの 3 種に成る Java の I/O は 総てストリームのオブジェクトとして実装する java.io パッケージ内のクラスは デバイス I/O ネットワーク I/O 等が統一的な枠組みで設計されて居る 総てのストリームは バイトストリーム 文字ストリーム オブジェクトストリームに分けられ 次の 6 種の抽象クラス / インタフェースに基づく OutputStream 抽象クラス InputStream 抽象クラス Writer 抽象クラス Reader 抽象クラス ObjectOutputStream クラス ObjectInputStream クラス 総てのバイト出力ストリームのスーパークラス write() でデータを書き込む 総てのバイト入力ストリームのスーパークラス read() でデータを読み込む 総ての文字出力ストリームのスーパークラス write() で文字配列を書き込む 総ての文字入力ストリームのスーパークラス read() で文字配列を読み込む Serializable インタフェースを実装するクラス型のオブジェクトを連続するバイト列に変換 ( シリアライズ 直列化 ) した物とプリミティブ型データを OutputStream に書き出す ObjectOutputStream で書き出したオブジェクトを読み込んで復元する Java では 文字は 2 バイトの UNICODE で表現される 此の点で 文字列処理に於いては バイトの連続 ( シーケンス ) で有るバイトストリームは効率が悪く 文字ストリームが要求される 亦 オブジェクトをファイルや DB に格納したり ネットワーク越しに遣り取りしたりする為に オブジェクトストリームが必要と成る -2-

3 ストリーム概説 java.io のストリームクラスは要件に応じて多岐に渡る バイトストリームは InputStream と OutputStream 文字ストリームは Reader と Writer を継承して居る 詳細は API 仕様書に譲るとして 此処では其の全体を概観して見る バイトストリームと文字ストリームには 御互いにカウンターパート (Counter part: 相対物 ) と成るクラスが存在する物が有る 次に 代表的なストリームに関する夫々れの対応を示す 基本的なストリーム バイト ストリーム文字ストリーム説明 入力 BufferedInputStream BufferedReader 入出力にバッファを使って効率を上げる 出力 BufferedOutputStream CharArrayReader 入力 ByteArrayInputStream CharArrayReader バイト配列や文字配列 String 型オブジェ 出力 ByteArrayOutputStream CharArrayWriter クトに対するストリームを作成する StringWriter 入力 FileInputStream FileReader ファイルに対するストリームを作成する 出力 FileOutputStream FileWriter 入力 FilterInputStream FilterReader 此等を継承してカスタムストリームを作成 出力 FilterOutputStream FilterWriter する為の抽象クラス 入力 PipeInputStream PipeReader 複数の異なるストリーム間を繋げるパイプ 出力 PipeOutputStream PipeWriter を作成する ファイルストリーム ファイルに対するストリームは 次のクラスのオブジェクトとして作る テキストファイル バイナリファイル FileReader FileWriter FileInputStream FileOutputStream 此等のクラスでは JavaVM が動作して居るネイティブなファイルシステム上に有るファイルに対するストリームを作る 此のファイルは File クラスや FileDescriptor クラスのオブジェクトとして参照する -3-

4 文字ストリーム 継承関係 : java.io.filereader java.lang.object +--java.io.reader +--java.io.inputstreamreader +--java.io.filereader java.io.filewriter java.lang.object +--java.io.writer +--java.io.outputstreamwriter +--java.io.filewriter コンストラクタ : FileReader(File file) FileReader(FileDescriptor fd) FileReader(String filename) FileWriter(File file) FileWriter(FileDescriptor fd) FileWriter(String filename) FileWriter(String filename, boolean append) FileWriter の場合は 書き込み時にファイルに追加するのか (append に true を指定 ) 新規に書き込むのか (append に false を指定 ) を第二引数で指定出来る 引数が一つの場合はファイルの先頭から新規書き込みと成り (append に false を指定した場合に同じ ) 既存のデータは失われる ( 詳細に付いては API 仕様書を参照 ) バイトストリーム 継承関係 : java.io.fileinputstream java.lang.object +--java.io.inputstream +--java.io.fileinputstream java.io.fileoutputstream java.lang.object +--java.io.outputstream +--java.io.fileoutputstream コンストラクタ : FileInputStream(File file) FileInputStream(FileDescriptor fdobj) FileInputStream(String name) FileOutputStream(File file) FileOutputStream(FileDescriptor fdobj) FileOutputStream(String name) FileOutputStream(String name, boolean append) FileOutputStream の場合は 書き込み時にファイルに追加するのか (append に true を指定 ) 新規に書き込むのか (append に false を指定 ) を第二引数で指定出来る 引数が一つの場合はファイルの先頭から新規書き込みと成り (append に false を指定した場合に同じ ) 既存のデータは失われる -4-

5 パイプストリーム 多くの言語でパイプ (Pipe) と言う仕組みが提供されて居る 其等は 一般に 或るプロセスの出力を別のプロセスの入力に繋げる事で有る 例えば UNIX 系 OS では コマンド "cat /etc/passwd wc -l" とする事で "cat /etc/passwd" の出力を "wc -l" の入力に与える事が出来る Java では 文字ストリームのパイプとバイトストリームのパイプが用意されて居る 文字ストリーム バイトストリーム PipedReader PipedWriter PipedInputStream PipedOutputStream 例えば メソッドの中で 次の様に パイプの入口と出口を作る PipedWriter pipeout = new PipedWriter(); PipedReader pipein = new PipedReader(pipeOut); 此の例では pipeout から取得したストリームは 其の儘 pipein で取得出来る 詰まり 書き込みの文字ストリームを読み込みの文字ストリームに繋げた事に成る pipeout を此のメソッド内で処理して 戻り値に pipein を指定すれば 此のメソッドの処理結果を書き込むストリームを 読み込みのストリームにパイプを通して繋げられる訳で有る 例えば 上記に続いて下記の様に記述したとする // ファイルのインスタンス化 FileReader source = new FileReader("words.txt"); // 読み込みバッファでラップ BufferedReader inp = new BufferedReader(source); // 書き込みのパイプを PrintWriter でラップ PrintWriter out = new PrintWriter(pipeOut); // 読み込みバッファから読み込んで書き込み String line; while ((line = inp.readline())!= null) out.println(line); out.flush(); out.close(); 此のプロセスで out に書き込まれた物はパイプストリーム PipeOut に渡され パイプを通って pipein から読み込む事が出来る 従って 此のメソッドで return pipein; とすれば 次の制御へパイプが繋がる訳で有る 此のプロセスを実行するメソッドを Reader pipe(reader source) として定義すれば 引数 source で受け取ったストリームを pipeout に書き込んで 其れを pipeout に出力して返す事が可能で有る -5-

6 演習 テキストファイルの書込 下記のコードを テキストエディタで入力し FileIOtextW.java と謂うファイル名で保存した後 コンパイルして 実行する import java.io.*; public class FileIOtextW public static void main(string args[]) try // ファイルのオープン FileWriter f = new FileWriter("TestFile.txt"); // データの書き込み ( 文字列を書き込む ) f.write("king of Squid n"); f.write(" 烏賊の王様 n"); // ファイルのクローズ f.close(); catch(exception e) System.err.println(" 例外発生 :" + e); System.exit(1); System.out.println(" ファイルの書き込みが完了しました!"); テキストファイルの場合は バイト単位で入出力を行うより 文字単位 或るいは 行単位で入出力を行う方が便利な事が有る テキストファイルに書き込みを行う為には java.io.filewriter クラスを使用する 同クラスのメソッドは 総てインスタンスメソッドで有る為 コンストラクタを使用してインスタンスを生成する必要が有る FileWriter クラスの write メソッドでは パラメータが int 型と char 型と String オブジェクトの 5 種類がオーバーロード (overload: 多重定義 ) されて居り 1 文字と文字列の孰れもが書込可能で有る void write(int c) 単一の文字を出力 void write(char[]) 文字の配列を出力 void write(char[] c, int off, int len) 文字の配列の一部を出力 void write(string s) 文字列を出力 void write(string s, int off, int len) 文字列の一部を出力 猶 write メソッドでは 行末の改行を出力しない為 改行を必要とする場合には エスケープシーケンスの改行文字 n を出力する必要が有る 猶 FileWriter コンストラクタの第 2 引数で true を指定すると 追加モード (Append) と成り ファイルの末尾にデータが付け加えられる様に成る -6-

7 テキストファイルの読込 下記のコードを テキストエディタで入力し FileIOtextR.java と謂うファイル名で保存した後 コンパイルして 実行する import java.io.*; public class FileIOtextR public static void main(string args[]) try int d; // ファイルのオープン FileReader f = new FileReader("TestFile.txt"); // データの読み込み (1 文字宛読み込む ) while((d = f.read())!= -1) // データの表示 (1 文字宛表示する ) System.out.print((char)d); // ファイルのクローズ f.close(); catch(exception e) System.err.println(" 例外発生 :" + e); System.exit(1); System.out.println(" ファイルの読み込みが完了しました!"); テキストファイルから読み込みを行う為には java.io.filereader クラスを使用する 同クラスのメソッドは 総てインスタンスメソッドで有る為 コンストラクタを使用してインスタンスを生成する必要が有る FileReader クラスの read メソッドは文字単位 ( 日本語なら 2 バイト ) で読み込む 亦 パラメータが int 型で有る為 画面に表示する際には char 型にキャスト (cast: 型変換 ) する必要が有る FileReader クラスの read メソッドでは パラメータが無い場合と char 型の 3 種類がオーバーロード (overload: 多重定義 ) されて居り 1 文字と複数文字の孰れもが読込可能で有る int read() int read(char[] c) int read(char[] c, int off, int len) 単一の文字を入力文字の配列に入力文字の配列の一部に入力 パラメータ無しの場合は 0~65535( u0000~ uffff) の範囲と仕ての文字を読み込み char 型の配列では 格納開始位置オフセット off から文字数 len の文字を読み込む 亦 戻り値には パラメータ無しの場合は 読み込んだ文字コードが char 型の配列では 読み込んだ文字数が返され ストリームの終わりに達した場合は 孰れも -1 が返される -7-

8 テキストファイルのコピー 下記のコードを テキストエディタで入力し FileIOtextC.java と謂うファイル名で保存した後 コンパイルして 実行する import java.io.*; public class FileIOtextC public static void main(string args[ ]) try int d; // 入力ファイルのオープン FileReader inp = new FileReader("TestInp.txt"); // 出力ファイルのオープン FileWriter out = new FileWriter("TestOut.txt"); while ((d = inp.read())!= -1) // 入力 out.write(d); // 出力 // ファイルのクローズ inp.close(); out.close(); catch (Exception e) System.err.println(" 例外発生 :" + e); System.exit(1); System.out.println(" ファイルのコピーが完了しました!"); テキストファイルをコピーする為には 読み込む為の java.io.filereader クラスと書き込む為の java.io.filewriter クラスを使用する 孰れのクラスのメソッドも 総てインスタンスメソッドで有る為 コンストラクタを使用してインスタンスを生成する必要が有る FileReader クラスでは 読み込むファイルが存在しない場合に FileNotFoundException の例外が 亦 FileWriter クラスでは ファイルにアクセスする事が出来ない場合に IOException の例外が投げられる等 ファイル入出力に於いては try~catch 文に依り 例外に対処する必要が有る 此の処理は必須で有り 対処されて居ない場合は コンパイル時にエラーが発生する 此処では 例外を Exception クラスで受け取る事に依り 総ての例外に対処して居る 個々の例外に対処する場合は catch のパラメータに 発生する可能性の有る例外の種類を指定する 上記に於いて個々の例外に対処するには 下記の様に夫々れの例外に対応する catch 節を複数記述する catch(filenotfoundexception e) // 読込時の例外処理 catch(ioexception e) // 書込時の例外処理 -8-

9 テキストファイルのコピー ( バッファ利用 ) 前記のコード FileIOtextC.java の該当部分を テキストエディタで下記のコードに変更し FileIOtextCB.java と謂うファイル名で保存した後 コンパイルして 実行する 前出のプログラムは ファイルから 1 文字宛読み書きして居るので 余り能率的では無い 上記の FileReader オブジェクトと FileWriter オブジェクトを 夫々れ BufferedReader クラスと BufferedWriter クラスでラップ (Wrap) すると バッファリングの効果に依り 実行速度が向上する // 入力ファイルのオープン BufferedReader inp = new BufferedReader(new FileReader("TestInp.txt")); // 出力ファイルのオープン BufferedWriter out = new BufferedWriter(new FileWriter("TestOut.txt")); 下記のコードを テキストエディタで入力し FileIOtextCBL.java と謂うファイル名で保存した後 コンパイルして 実行する import java.io.*; public class FileIOtextCBL public static void main(string args[ ]) try String d; // 入力ファイルのオープン BufferedReader inp = new BufferedReader(new FileReader("TestInp.txt")); // 出力ファイルのオープン BufferedWriter out = new BufferedWriter(new FileWriter("TestOut.txt")); while ((d = inp.readline())!= null) // 入力 out.write(d); // 出力 out.newline(); // ファイルのクローズ inp.close(); out.close(); // 改行 catch (Exception e) System.err.println(" 例外発生 :" + e); System.exit(1); System.out.println(" ファイルのコピーが完了しました!"); 読み込まれた行は Unicode の文字列に変換されるが 出力時には処理系の文字コードに戻される 入力行には 改行は含まれない為 行を出力した後に 改行を出力する newline() メソッドを使用する必要が有る 此の方法なら システム毎に改行コードの違い (Windows では 2 文字 UNIX では 1 文字として扱われる ) を考える必要も無い 猶 readline() は ファイルの終わり迄 読み尽くした後では null と謂う特別な値を返す 此れが返されれば 読み込み処理を終了する -9- FileReader クラスには readline メソッドが有り 此れを使用すると 文字単位ではなく 行単位で データを読み込む事が出来る

10 テキストファイルのコピー ( エンコーディング利用 ) 下記のコードを テキストエディタで入力し FileIOtextCE.java と謂うファイル名で保存した後 コンパイルして 実行する 下記の例は EUC コードで書かれたファイルを EUC エンコード方式を指定して読み込み 其の内容を Shift-JIS エンコード方式でエンコードし 別のファイルへ書き込むプログラムで有る import java.io.*; public class FileIOtextCE public static void main(string args[ ]) System.out.println(" エンコーディング :" + System.getProperty("file.encoding")); try int d; // 入力ファイルのオープン InputStreamReader inp = new InputStreamReader(new FileInputStream("TestEUC.txt"), "EUC-JP"); // 出力ファイルのオープン OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream("TestSJIS.txt"), "SJIS"); while ((d = inp.read())!= -1) out.write(d); // ファイルのクローズ inp.close(); out.close(); // 入力 // 出力 catch (Exception e) System.err.println(" 例外発生 :" + e); System.exit(1); System.out.println(" ファイルのコピーが完了しました!"); エンコード方式を指定してファイル入出力処理を行う為には FileInputStream オブジェクトと FileOutputStream オブジェクトを 夫々れ エンコーディング機能の有る InputStreamReader クラスと OutputStreamWriter クラスでラップ (Wrap) して使用する EUC エンコードで読み込みを行う為には コンストラクタの第 1 引数に読み込むオブジェクトを 第 2 引数に EUC-JP を指定して InputStreamReader オブジェクトを生成する Shift-JIS エンコードで書き込みを行う為には コンストラクタの第 1 引数に書き込むオブジェクトを 第 2 引数に Shift-JIS を指定し OutputStreamWriter オブジェクトを生成する 猶 Java インタープリタは 其の環境の標準的なエンコーディングを自動的に判断して使用する エンコーディングを調べるには System.getProperty("file.encoding") を利用する -10-

ファイル入出力Ⅰ

ファイル入出力Ⅰ ファイル入出力 Ⅰ 今回の課題項目 ファイル入出力 ( 概要 手順 ) ファイル入出力 ( 使用クラス 使用コンストラクタ ) ファイル入出力 ( 文字コード処理 ) ファイル入出力 ( ファイル情報の取得 ) ファイル入出力 ( バイナリファイルの入出力処理 ) 今回の重点項目 ファイル入出力の基本 ( 概要 手順 使用クラス ) ファイル入出力の実践 ( ファイル情報の取得 バイナリファイルの操作

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅱ 10 回目への出力 ストリーム ストリームとは入力または出力の流れをもつデータの連鎖ですストリームは異なる機器からのデータを統一的に扱う考え方です 文字ストリーム 文字ベースの入出力をサポートします - Unicode(Java 内部 ) とローカルコード (Java 外部 ) の変換が行われ プログラマはその違いを意識しなくてすみます バイトストリームバイナリデータの入出力をサポートします

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 32786~32767 2147483648~2147483647 9223372036854775808~9223372036854775807 ±10 38 ~10 38 ±10 308 ~10 308 public static void main(string[] args) { int a; double b; String s; a = 42; b = 3.1415926535; s =

More information

PowerPoint Presentation

PowerPoint Presentation 独習 Java ゼミ 11.4 PrintWriter クラス 11.5 バイトストリーム 07/06/22 鈴木慧 11.4 PrintWriter クラス PrintWhiter クラスとは Writer を拡張したクラス int float char などの基本データ型およびオブジェクトと等価の文字列を表示する PrintWriter コンストラクタ PrintWriter(OutputStream

More information

Prog2_10th

Prog2_10th 2013 年 11 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル操作は,C 言語プログラミングで学んだように, 次の順序で行う 1) ストリームを開く 2) ストリームからの入力, ストリームへの出力 3) ストリームを閉じる Java 言語では, ファイル操作に関係するクラスが複数用意されている

More information

File IO

File IO File IO と例外処理 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 Java での File IO Java での File IO の仕組み 言語 (java.lang パッケージ ) には File IO が含まれない 標準入出力のみ java.io パッケージが別に用意されている 3 例外処理の必要性 IO では エラーが発生しやすい 読めない 書けない

More information

Microsoft PowerPoint - OOP.pptx

Microsoft PowerPoint - OOP.pptx 第 12 回 第 10 章ファイルの入出力処理 24 4 入出力ストリームクラス 245 ファイルの書き出し (1) ファイルのオープン処理 FileWriter fw=new FileWriter(args[0]); 文字列 args[0] で指定された名前のファイルを作成する.FileWriter というストリームクラスのオブジェクトによりファイルがオープンされる. このオブジェクトは変数 fw

More information

オブジェクト指向プログラミング・同演習 5月21日演習課題

オブジェクト指向プログラミング・同演習 5月21日演習課題 オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException

More information

応用プログラミング 2004/11/23 データの入出力 データの入出力データをキーボードからコンピュータに入力することや CRT に表示すること, さらにハードディスク (HDD) や MO などに保存されているファイルからデータをコンピュータに読み込むことや ( 逆に ) データをこれらの装置に

応用プログラミング 2004/11/23 データの入出力 データの入出力データをキーボードからコンピュータに入力することや CRT に表示すること, さらにハードディスク (HDD) や MO などに保存されているファイルからデータをコンピュータに読み込むことや ( 逆に ) データをこれらの装置に データの入出力 データの入出力データをキーボードからコンピュータに入力することや CRT に表示すること, さらにハードディスク (HDD) や MO などに保存されているファイルからデータをコンピュータに読み込むことや ( 逆に ) データをこれらの装置に保存すること データ入出力用クラス 外部 ( キーボード,CRT, ファイル (HDD や MO など )) からのデータの読み込み, 書き出しのためのクラスが存在する

More information

ファイル操作-バイナリファイル

ファイル操作-バイナリファイル ファイル操作 バイナリ ファイルを読み書きする バイナリファイル ( 即ちテキストファイル以外のファイル ) を読み書きするには FileStream クラス (System.IO 名前空間 ) を利用する FileStream クラスはファイル用のストリームをサポートするクラスで有り Stream クラス (System.IO 名前空間 ) の派生クラスの 1 つで有る 基本的には コンストラクタで指定したファイルのストリームに対して

More information

Prog1_11th

Prog1_11th 2018 年 6 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル (File) とは, データの集合体のことで,JIS( 日本工業規格 ) では, ファイルはレコードの集合体, レコードはデータの集合体と定義されている ファイル操作は, 次の順序で行う なお, ストリームとは, 入力元または出力先を持つ,

More information

例外処理とファイル入出力

例外処理とファイル入出力 例外処理と ファイル入出力 情報システム学科 平塚聖敏 例外処理とは プログラムの実行中に発生した問題を通知するために 実行時に生成される 例外の例 オブジェクト スタックオーバーフロー メモリ不足 配列の要素数を超えて参照しようとしたりする 例外処理の手順その 1 基本の例外処理 1. try ブロックで処理を囲む try{ // 処理 2. catch ブロックで例外を捕捉 catch ( 例外オブジェクトパラメータ

More information

JAVA 11.4 PrintWriter 11.5

JAVA 11.4 PrintWriter 11.5 JAVA 11.4 PrintWriter 11.5 PrintWriter Writer Int, float, char Object print() println() tostring() PrintWriter PrintWriter(OutputStream outputstream) PrintWriter(OutputStream outputstream, boolean flushonnewline)

More information

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です

More information

GEC-Java

GEC-Java プログラミング初級 (Java) 第 9 回ファイル入出力, エラーへの対処 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 第 9 回の内容 ファイル入出力 エラーに対する対処 Copyright (C) Junko Shirogane, Waseda University 2019,

More information

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt プログラミング言語 3 第 09 回 (2007 年 11 月 26 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/40 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 11 月 27 日分と書いてある部分が 本日の教材です

More information

ファイル操作

ファイル操作 ファイル操作 TextFieldParser オブジェクト ストリームの読込と書込 Microsoft.VisualBasic.FileIO 名前空間の TextFieldParser オブジェクトは 構造化テキストファイルの解析に使用するメソッドとプロパティを備えたオブジェクトで有る テキストファイルを TextFieldParser で解析するのは テキストファイルを反復処理するのと同じで有り

More information

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説

Javaセキュアコーディングセミナー東京 第3回 入出力(File, Stream)と例外時の動作 演習解説 Java セキュアコーディングセミナー東京第 3 回入出力と例外時の動作 演習解説 2012 年 11 月 11 日 ( 日 ) JPCERT コーディネーションセンター脆弱性解析チーム戸田洋三 1 Hands-on Exercises コンパイルエラーに対処しよう ファイルからのデータ入力を実装しよう 2 Hands-on Exercise(1) サンプルコードの コンパイルエラーに対処しよう 3

More information

Java における入出力と XML 2011 年 5 月 15 日 海谷治彦 1

Java における入出力と XML 2011 年 5 月 15 日 海谷治彦 1 Java における入出力と XML 2011 年 5 月 15 日 海谷治彦 1 入出力の抽象化 目次 ファイル入出力の概要 XMLEncoder/Decoder 永続化とは? 2 データと情報 データ 情報 人間による意味付けの無いもの. CD の上の 0/1 列等. 磁気や突起等の物理情報 人間による意味付けの有るもの. 音楽, 絵画, 図書等. 3 情報処理と入出力 計算機では直接に情報は入出力できない.

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 "

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション (  ) で囲うか シングルクオーテーション ( ' ) で囲う PYTHON3 PYTHON 入門 文字列 文字列リテラル プログラムの中で文字列を表す方法は幾つか有るが 基本的な方法は下記の 2 種で有る 対象と成る文字の集まりをダブルクオーテーション ( " ) で囲うか シングルクオーテーション ( ' ) で囲う " 文字列 " ' 文字列 ' 他のプログラミング言語ではダブルクオーテーションとシングルクオーテーションで囲う場合では エスケープ処理等の扱いが異なる物が多いが

More information

そして 取得した OutputStream インスタンスを使い 文字コードは UTF-8 として PrintWriter インスタンスを生成して あとは PrintWriter.append() で書き込みたい文字 列を渡して close() で保存する というだけです ファイルの読込み方法 それで

そして 取得した OutputStream インスタンスを使い 文字コードは UTF-8 として PrintWriter インスタンスを生成して あとは PrintWriter.append() で書き込みたい文字 列を渡して close() で保存する というだけです ファイルの読込み方法 それで Android: データを保存する方法 Android のアプリケーションで データを保存する方法を説明します 保存する方法としては以下のものがあります ファイルとして保存 Preference データベース (SQLite) ファイルへ書き込む Android のファイルへの書き出しはアクセス権限の設定部分があるので読み込みの openfileinput メソッドより 引数が増えています public

More information

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1

Java (9) 1 Lesson Java System.out.println() 1 Java API 1 Java Java 1 Java (9) 1 Lesson 7 2008-05-20 Java System.out.println() 1 Java API 1 Java Java 1 GUI 2 Java 3 1.1 5 3 1.0 10.0, 1.0, 0.5 5.0, 3.0, 0.3 4.0, 1.0, 0.6 1 2 4 3, ( 2 3 2 1.2 Java (stream) 4 1 a 5 (End of

More information

1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合

More information

Prog1_10th

Prog1_10th 2014 年 6 月 19 日 ( 木 ) 実施 例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる 例外処理を行うための try 文の一般形は次のようになる 例外を発生させる可能性のある処理 catch( 例外のクラス名 1 変数 1 ) 例外に対処する処理 1 catch(

More information

情報処理演習 B8クラス

情報処理演習 B8クラス 予定スケジュール ( 全 15 回 ) 1 1. 終了 プログラミング言語の基礎 2. 終了 演算と型 3. 終了 プログラムの流れの分岐 (if 文,switch 文など ) 4. 終了 プログラムの流れの繰返し (do, while, for 文など ) 5. 終了 中間レポート1 6. 終了 配列 7. 終了 関数 8. 終了 文字列 ( 文字列の配列, 文字列の操作 ) 9. 終了 ポインタ

More information

Prog1_15th

Prog1_15th 2017 年 7 月 27 日 ( 木 ) 実施 応用プログラム (3) キー検索 コレクションには, ハッシュテーブルと呼ばれるものがある これは, キー (key) と値 (value) とを組として保持しているものである 通常の配列が添字により各要素にアクセス出来るのに比べて, ハッシュテーブルではキーを用いて各値にアクセスすることが出来る キー及びそのキーから連想される値の組を保持していることから,

More information

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある インターネットアドレス

12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある   インターネットアドレス Java 独習第 3 版 12.1 インターネットアドレス 12.2 サーバーソケットとソケット 2006 年 7 月 5 日 ( 水 ) 南慶典 12.1 インターネットアドレス インターネットアドレス インターネットアドレス 32 ビットの長さを持つインターネットに接続されたマシンを識別するのに使う インターネットアドレスは ピリオドで区切られたトークンの並びで表現されることもある www.mycompany.com

More information

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン

26 editor.putint(pref_count_key, executecount); 27 // 変更した Preference を確定させる 28 editor.commit(); 29 } (c) 実行の様子実装して実行した様子を図 1 と図 2 に示す. 一度実行するごとに, カウン 保存 データを保存する方法として, 主に,3 種類ある. [1] SharedPreference [2] ファイル [3] データベース これらのうち, よく使いそうな,[1] と [2] の方法を説明する. (1) SharedPreference SharedPreference は, 変数名とその値のペアをアプリごとに記憶しておくことができ る機能である. たとえば, アプリを起動した回数を記憶しておいたり,

More information

GEC-Java

GEC-Java Copyright (C) Junko Shirogane, Waseda University 2019, All rights reserved. 1 プログラミング初級 (Java) 第 14 回継承 白銀純子 第 14 回の内容 継承 オーバーライド ポリモーフィズム Copyright (C) Junko Shirogane, Waseda University 2019, All rights

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

VB6互換のファイルの処理

VB6互換のファイルの処理 Visual Basic のランタイム関数を使用したファイルアクセス FileOpen 関数 ファイルを開いて入出力を行う FileOpen(FileNumber, FileName, Mode[, Access[, Share[, RecorLength]]]) 引数 FileNumber は必ず指定する 有効なファイル番号を指定する FreeFile 関数を使用して 使用可能な次のファイル番号を取得する事が出来る

More information

Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog13.ppt プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57 1 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念

More information

ICONファイルフォーマット

ICONファイルフォーマット グラフィックス 画像フォーマットエンコーダパラメータ 様々なフォーマットで画像を保存 Bitmap クラスを用いる事でビットマップ JPEG GIF PNG 等様々なフォーマットの画像を読み込み操作する事が出来る 更に Bitmap クラスや Graphics コンテナを用いて描画処理等を施したイメージをファイルに保存する事も出来る 此の時 読み込めるフォーマット同様に保存するフォーマットを選択する事が出来る

More information

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク

2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパーク 2016 年度 JAVA 講座第六週目 目次 パッケージ... 2 パッケージの作成... 2 パッケージの使用方法... 3 異なるパッケージ同名クラスの宣言... 4 パッケージの側面から見たアクセス修飾子... 4 ラッパークラス... 5 ラッパークラス利用法:キャスト... 5 ラッパークラス利用法:ArrayList... 5 例外:Exception... 6 ぬるぽ... 6 例外処理:try-catch-finaly...

More information

デジタル表現論・第6回

デジタル表現論・第6回 デジタル表現論 第 6 回 劉雪峰 ( リュウシュウフォン ) 2016 年 5 月 16 日 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年 5 月 16 日 1 / 16 本日の目標 Java プログラミングの基礎配列 ( 復習 関数の値を配列に格納する ) 文字列ファイルの書き込み 劉 雪峰 ( リュウシュウフォン ) デジタル表現論 第 6 回 2016 年

More information

Prog2_9th

Prog2_9th 2013 年 11 月 21 日 ( 木 ) 実施例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる これまでの教材に登場した例外の中で,IOException はコンパイラがチェックするため, 例外処理を必ず記述しなければコンパイルが出来ないものであるのに対して,ArithmeticException

More information

リファレンス,配列 例外処理

リファレンス,配列 例外処理 リファレンス, 配列, 例外処理 その他演習に役立つこと 2004 年 7 月 21 日 海谷治彦 1 リファレンス ま, 改め紹介しなくても Java 遣いなら誰でもつかってる. インスタンスをプログラム中から識別 ( 捕獲 ) するためのラベルのようなもの. C でいうところのポインタ変数に相当. Java では, あるインスタンスを参照するリファレンスが 1 つもなくなると, 勝手にインスタンスは消去される.

More information

コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?

コンピュータ中級B ~Javaプログラミング~  第3回 コンピュータと情報をやりとりするには? Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 4 回コンピュータと情報をやりとりするには? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved.

More information

プログラミング基礎I(再)

プログラミング基礎I(再) 山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全

More information

PowerPoint Presentation

PowerPoint Presentation 上級プログラミング 2( 第 1 回 ) 工学部情報工学科 木村昌臣 今日のテーマ 入出力に関わるプログラムの作り方 ネットワークプログラミングの続き TCP の場合のプログラム 先週のプログラムの詳細な説明 URLクラス サーバープログラムの例 データ入出力プログラミングの復習 テキストの読み込み関係のクラス テキストからデータを読み込むときには 通常 三段構えで行う バイナリデータとして読み出し

More information

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 3 回コレクションと例外処理 テクノロジックアート 瀬嘉秀

できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 3 回コレクションと例外処理 テクノロジックアート 瀬嘉秀 できるプログラマーを本気で育てる Java 超 Webプログラマーへの第 歩 第 3 回コレクションと例外処理 テクノロジックアート 瀬嘉秀 内容 コレクションとは 例外処理 Java 言語とオブジェクト指向 属性と振る舞い クラスとメソッド オブジェクト指向の特徴 演習問題 勉強会の参考書 Java ( アジャイルソフトウェア開発技術シリーズ 基礎編 ) 発売日 2012 年 5 月 10 日 著作

More information

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文

Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文 Java プログラミング Ⅰ 3 回目変数 変数 変 数 一時的に値を記憶させておく機能型 ( データ型 ) と識別子をもつ 2 型 ( データ型 ) 変数の種類型に応じて記憶できる値の種類や範囲が決まる 型 値の種類 値の範囲 boolean 真偽値 true / false char 2バイト文字 0x0000 ~ 0xffff byte 1バイト整数 - 2 8 ~ 2 8-1 short 2バイト整数

More information

クラスⅠ

クラスⅠ クラス Ⅰ 今回の課題項目 クラスライブラリ ( 概要 クラス パッケージ ) クラスライブラリ ( クラスのインポート ) クラスライブラリ ( クラスのメンバ 静的メンバ インスタンスメンバ ) メソッドの種類 ( クラスライブラリのメソッド 自作のメソッド ) メソッドの構成 ( 戻り値 メソッド名 引数リスト メソッド本体 ) メソッドの定義 ( オーバーロード : 多重定義 ) メソッドの呼出

More information

Microsoft PowerPoint ppt

Microsoft PowerPoint ppt 独習 Java ( 第 3 版 ) 6.7 変数の修飾子 6.8 コンストラクタの修飾子 6.9 メソッドの修飾子 6.10 Object クラスと Class クラス 6.7 変数の修飾子 (1/3) 変数宣言の直前に指定できる修飾子 全部で 7 種類ある キーワード final private protected public static transient volatile 意味定数として使える変数同じクラスのコードからしかアクセスできない変数サブクラスまたは同じパッケージ内のコードからしかアクセスできない変数他のクラスからアクセスできる変数インスタンス変数ではない変数クラスの永続的な状態の一部ではない変数不意に値が変更されることがある変数

More information

ファイル入出力

ファイル入出力 C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる

More information

メディプロ1 Javaプログラミング補足資料.ppt

メディプロ1 Javaプログラミング補足資料.ppt メディアプロジェクト演習 1 Javaプログラミング補足資料 l Javaとは l JavaScript と Java 言語の違い l オブジェクト指向 l コンストラクタ l 継承 抽象クラス 本資料内のページ番号は, 以下の参考書のページを引用している高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに l プログラミング言語とは? l オブジェクト指向とは?

More information

Javaの作成の前に

Javaの作成の前に メディアプロジェクト演習 1 参考資料 Javaとは JavaScript と Java 言語の違い オブジェクト指向 コンストラクタ サーブレット 本資料内のページ番号は, 以下の参考書のページを引用している 高橋麻奈 : やさしい Java, ソフトバンククリエイティブ (2,625 円 ) はじめに プログラミング言語とは? オブジェクト指向とは? Java 言語とは? JavaとJavaScriptの違いとは?

More information

GUIプログラムⅣ

GUIプログラムⅣ GUI プログラム Ⅳ 画像指定ウィンドウの生成 ファイル名 :awtimage.java import java.awt.*; import java.awt.event.*; public class awtimage extends Frame // コンポーネントクラスの宣言 Button btnbrowse; Label lblcaption7; TextField txtimage; //

More information

メソッドのまとめ

メソッドのまとめ メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double

More information

ファイル入出力

ファイル入出力 C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる

More information

2

2 プログラミング応用演習 b 10 月 5 日演習課題 2016/10/05 PAb 演習課題 プログラム仕様書作成課題 課題クラスを読み 次に示すクラスの仕様書を完成させよ なお 仕様書は クラス 1 つに付き 1 つ作成す る 加えて 図 1 のようなクラス継承の模式図を作成せよ < クラス名 のプログラム仕様書 > 作成者 : 学籍番号 名前 (1) クラスクラス名 : クラス名 説明 : クラスが何を表現しているか

More information

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378> 公益財団法人全国商業高等学校協会主催 [2 級 Java 選択者のための問題 ] 平成 26 年度 ( 第 52 回 ) ( 平成 27 年 1 月 18 日実施 ) 情報処理検定試験 2 級プログラミング部門 Java 選択者のための問題 7 問 1 概要 誕生日を入力し 12 星座名を表示させる問題である 星座日と星座名を配列に各データを格納し 各配列の関連性 格納された星座日からどのようにして星座名を探索

More information

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。

問 次の Fortran プログラムの説明及びプログラムを読んで、設問に答えよ。 ソフトウェア基礎演習課題 文法理解度確認範囲 問題 1 データ型 ( 変数, データ型 ) 問題 2 制御構造 (switch 文 ) 問題 3 制御構造 (while 文 ) 問題 4 制御構造と配列 ( 総和 ) 問題 5 制御構造と配列 ( 総和, 平均 ) 問題 6 データ型と各種演算子 ( 文字列, 検索 ) 問題 7 クラスの定義 ( メソッドの定義, コンストラクタの定義, キャスト

More information

Prog1_12th

Prog1_12th 2013 年 7 月 4 日 ( 木 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

Taro-ファイル処理(公開版).jtd

Taro-ファイル処理(公開版).jtd ファイル処理 0. 目次 1. はじめに 2. ファイル内容の表示 3. ファイル内容の複写 3. 1 文字単位 3. 2 行単位 4. 書式付き入出力 5. 文字配列への入出力 6. 課題 6. 1 課題 1 ( ファイル圧縮 復元 ) - 1 - 1. はじめに ファイル処理プログラムの形は次のようになる #include main() { FILE *fp1,*fp2; ファイルポインタの宣言

More information

slide4.pptx

slide4.pptx ソフトウェア工学入門 第 4 回ライブラリ関数 ライブラリ関数 stdio stdio : 標準入出力ライブラリ カーネルレベルのストリームに API を追加し インタフェースを提供する カーネル fd read(2) write(2) stdio バッファ BUFSIZ プログラム BUFSIZ ごと 小さい単位 バッファ : 一時的にデータを保存しておく場所のことバッファリング : バッファを経由してデータをやり取りすること

More information

2006年10月5日(木)実施

2006年10月5日(木)実施 2010 年 7 月 2 日 ( 金 ) 実施 ファイル処理ファイルとはファイル (file) は日常用語では紙などを綴じたものを表すが, コンピュータ用語ではデータの集合体を指す言葉である ファイルは例えば, 文書ファイルやプログラムファイルのように, 用途によって分類されることもあれば, また, テキストファイルやバイナリファイルのように, ファイルの作り方によって分類されることもある なお,

More information

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスがインスタンス化されてからメソッドに成る ) # 関数 def test_func(): print('call test_func') #

More information

Prog1_13th

Prog1_13th 2018 年 7 月 12 日 ( 木 ) 実施 応用プログラム (1) 統計処理 ここでは, 統計処理で最も基本的な平均値と分散とを求めるプログラムを扱う 平均値 x は データの値の合計をデータ数で割ったもので,i 番目のデータ値を xi, データ数を N とすれば, x = 1 N (x + x + + x ) = 1 N x と表される 分散 σ は平均値と個々のデータ値との差の二乗の平均値で,

More information

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値 ( 此処では 10) を代入する丈でなく 2 の配列変数の宣言の様に ブレース { } の中にカンマ区切りで初期値のリストを記述し 配列の各要素に初期値を代入出来る様に成った

More information

データアダプタ概要

データアダプタ概要 データベース TableAdapter クエリを実行する方法 TableAdapter クエリは アプリケーションがデータベースに対して実行出来る SQL ステートメントやストアドプロシージャで TableAdapter で型指定されたメソッドと仕て公開される TableAdapter クエリは 所有るオブジェクトのメソッドと同様に 関連付けられたメソッドを呼び出す事に依り実行出来る TableAdapter

More information

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の break; までを処理し どれにも一致しない場合 default; から直後の break; までを処理する 但し 式や値 1 Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 条件判断文 3 switch 文 switch 文式が case の値と一致した場合 そこから直後の までを処理し どれにも一致しない場合 default; から直後の までを処理する 但し 式や値 1 値 2は整数または文字である switch( 式 ) case 値 1: // コロン : です セミコロン ; と間違えないように!!

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または

More information

Javaプログラムの実行手順

Javaプログラムの実行手順 戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失

More information

r1.dvi

r1.dvi 2006 1 2006.10.6 ( 2 ( ) 1 2 1.5 3 ( ) Ruby Java Java Java ( Web Web http://lecture.ecc.u-tokyo.ac.jp/~kuno/is06/ / ( / @@@ ( 3 ) @@@ : ( ) @@@ (Q&A) ( ) 1 http://www.sodan.ecc.u-tokyo.ac.jp/cgi-bin/qbbs/view.cgi

More information

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name

た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく

More information

Android Layout SDK プログラミング マニュアル

Android Layout SDK プログラミング マニュアル プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から

More information

ハッシュテーブル

ハッシュテーブル ハッシュテーブル ハッシュテーブル ( 連想配列 ) を使う ハッシュテーブルとは キー (key) と値 (value) のペアを保持して居るコレクションで有る 通常の配列がインデックス番号に依り各値 ( 各要素 ) にアクセス出来るのに比べて ハッシュテーブルでは インデックス番号の代わりにキーを用いて 其の各値にアクセスする事が出来る キーと 其のキーから連想される ( 対応付けられて居る )

More information

Microsoft PowerPoint - prog03.ppt

Microsoft PowerPoint - prog03.ppt プログラミング言語 3 第 03 回 (2007 年 10 月 08 日 ) 1 今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/33 今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2007 年 10 月 08 日分と書いてある部分が 本日の教材です

More information

Java知識テスト問題

Java知識テスト問題 Java 知識テスト SDAS プログラマ(Java 編 ) 運営事務局 このテストは J2EE プログラマとしての Java の知識を評価するものです 問題は 30 問, テスト時間は J2EE 知識テストとあわせて 90 分です 問題は全て択一式です 選択肢から 1 つだけ選択してください 資料の閲覧は禁止です テストが終わり次第 答案用紙を提出していただいてかまいません テスト終了後, 本テストの内容を他の方に話さないでください

More information

PowerPoint Presentation

PowerPoint Presentation ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:

More information

C 資料 電脳梁山泊烏賊塾 ファイルの入出力 C++ のバイナリファイル入出力 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する

C 資料 電脳梁山泊烏賊塾 ファイルの入出力 C++ のバイナリファイル入出力 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する ファイルの入出力 C++ のバイナリファイル入出力 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する 使用クラス C++ の場合 ファイルの入出力に使用するクラスは ifstream ofstream fstream の 3 種類が有り 頭に i(input)

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション 基本 Java プログラミング演習 第 13 回 担当 : 植村 今後の予定 7/15 第 13 回 今回 7/22 第 14 回 小テスト ( クラス ) 7/29 第 15 回 総まとめテスト レポート提出 期末テストの時間割に Java のテストの欄がありますが無視してください 再テストはまた別途連絡いたします 2 CHAPTER 11 はじめてのクラス前回の復習 クラスクラスを構成する要素

More information

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲

Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲 Java プログラミング Ⅰ 3 回目変 数 今日の講義講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能 変数は 型 ( データ型 ) と識別子をもちます 2 型 ( データ型 ) 変数に記憶する値の種類変数の型は 記憶できる値の種類と範囲を決定します 次の型が利用でき これらの型は特に基本型とよばれます 基本型 値の種類 値の範囲 boolean

More information

Prog1_6th

Prog1_6th 2019 年 10 月 31 日 ( 木 ) 実施配列同種のデータ型を有する複数のデータ ( 要素 ) を番号付けして, ひとまとまりの対象として扱うものを配列と呼ぶ 要素 point[0] point[1] point[2] point[3] point[4] 配列 配列の取り扱いに関して, 次のような特徴がある 1. プログラム中で用いる配列変数 ( 配列の本体を参照する参照型の変数 ) は必ず宣言しておく

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 6 回目 if 文と if else 文 今日の講義で学ぶ内容 関係演算子 if 文と if~else 文 if 文の入れ子 関係演算子 関係演算子 ==,!=, >, >=,

More information

データ構造とアルゴリズム論

データ構造とアルゴリズム論 15 10 14 Java jtextfielddata jbuttonwrite jlabelmessage void jbuttonwrite_actionperformed(actionevent e) { String Data=jTextFieldData.getText(); try { // Test1.txt fw FileWriter fw= new FileWriter("Test1.txt");

More information

プラグイン

プラグイン プラグイン プラグイン詳細 2 ~ プラグイン機能を持つテキストエディタの作成 ~ はじめに Adobe Photoshop や Becky! Internet Mail 等のアプリケーションでは プラグイン ( 又は アドイン エクステンション 等 ) と呼ばれるプログラムをインストールする事に依り 機能を拡張する事が出来る 此の記事では此の様なプラグイン機能を持ったアプリケーションの作り方を プラグイン対応のテキストエディタを作成する事に依り

More information

JavaプログラミングⅠ

JavaプログラミングⅠ Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または

More information

Microsoft PowerPoint - chap10_OOP.ppt

Microsoft PowerPoint - chap10_OOP.ppt プログラミング講義 Chapter 10: オブジェクト指向プログラミング (Object-Oriented Programming=OOP) の入り口の入り口の入り口 秋山英三 F1027 1 例 : 部屋のデータを扱う // Test.java の内容 public class Test { public static void main(string[] args) { double length1,

More information

gengo1-12

gengo1-12 外部変数 関数の外で定義される変数を外部変数 ( 大域変数 ) と呼ぶ 外部変数のスコープは広域的 ( プログラム全体 ) 全ての関数で参照可能 int a=10; double x=3.14159; printf( a = %d\n, a); sample(); printf( %f\n, x); void sample(void) printf( %f\n, x); x += 1.0; 外部変数

More information

プロセス間通信

プロセス間通信 プロセス間通信 プロセス間通信 (SendMessage) プロセス間通信とは 同一コンピューター上で起動して居るアプリケーション間でデータを受け渡し度い事は時々有る Framework には リモート処理 と謂う方法でデータの受け渡しを行なう方法が有る 此処では 此の方法では無く 従来の方法の API を使用したプロセス間通信を紹介する 此の方法は 送信側は API の SendMessage で送り

More information

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション オブジェクト指向 プログラミング演習 第 2 回クラス インスタンス メソッド フィールド コンストラクタ ICPC の宣伝 国際大学対抗プログラミングコンテスト 3 人一組のチームでプログラムを書く速さを競う 国内予選 : ネットワーク上で 6 月末 ~7 月頭 アジア地区予選 : 日本国内で秋に開催 世界大会 :2020 年は 6 月にモスクワで 参加登録締切 : 国内予選の 2~3 週間前 今年は

More information

5 継承とは クラス図 98 7 参照の自動型変換 参照の自動型変換 クラス図の見方 クラス図の書き方 継承 継承してクラスを作る インスタンスの初期化 継承の効果を確認する

5 継承とは クラス図 98 7 参照の自動型変換 参照の自動型変換 クラス図の見方 クラス図の書き方 継承 継承してクラスを作る インスタンスの初期化 継承の効果を確認する 3 クラスの仕組み 51 3.1 他のクラスからのアクセスを制限する 52 1.private と public 52 1 クラスの作り方 1 1.1 オブジェクトとは 2 1. オブジェクトって何? 2 2. データの集まりをオブジェクトにする 3 3. まずクラスを作る 4 4. クラスの作り方 5 5. 基本機能として必要なもの 6 1.2 クラスを作る 8 1. クラスを作る手順 8 2.

More information

シーケンシャルファイルの操作

シーケンシャルファイルの操作 ファイルの操作 Ⅰ VB 2005 4 今回の課題項目 ファイル概要 ファイルの種類 ( テキストファイル バイナリファイル ) テキストファイルのレコード形式 ( 可変長 固定長 XML CSV) ファイルアクセス ファイルアクセスの種類 ( シーケンシャル ランダム バイナリ ) シーケンシャルアクセス (Sequential Access) シーケンシャルアクセスの概要 シーケンシャルアクセスの特徴

More information

K227 Java 2

K227 Java 2 1 K227 Java 2 3 4 5 6 Java 7 class Sample1 { public static void main (String args[]) { System.out.println( Java! ); } } 8 > javac Sample1.java 9 10 > java Sample1 Java 11 12 13 http://java.sun.com/j2se/1.5.0/ja/download.html

More information

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt)

(Microsoft PowerPoint - \223\306\217KJAVA\221\346\202R\224\ ppt) 独習 JAVA 第 3 版 8.4 例外とエラークラス 8.5 throws ステートメント 8.6 独自の例外 Throwable コンストラクタ catch ブロックには Throwable 型のパラメータが必ず 1 つなければならない Throwable コンストラクタ Throwable() Throwable( String message ) message には問題を通知する文字列のメッセージ

More information

文字列操作と正規表現

文字列操作と正規表現 文字列操作と正規表現 オブジェクト指向プログラミング特論 2018 年度只木進一 : 工学系研究科 2 文字列と文字列クラス 0 個以上の長さの文字の列 Java では String クラス 操作 文字列を作る 連結する 文字列中に文字列を探す 文字列中の文字列を置き換える 部分文字列を得る 3 String クラス 文字列を保持するクラス 文字列は定数であることに注意 比較に注意 == : オブジェクトとしての同等性

More information

Microsoft Word - java a.doc

Microsoft Word - java a.doc 4 入出力の基本として ディスプレイへの文字出力と キーボードからの文字入力の方法を学びます 入出力とは何か 標準出力 標準入力 43 4.1. 入出力とは プログラムと外部機器の間でデータをやりとりすることをいいます プログラムから出て行く方向が 出力 プログラムに入って来る方向が 入力 です 出力 外部機器 プログラム 入力 外部機器 外部機器はさまざまな種類があります 出力を行うには ディスプレイ

More information

GUIプログラムⅡ

GUIプログラムⅡ GUI プログラム Ⅱ 前回課題の制作例 ファイル名 :awtsave.java import java.awt.*; import java.awt.event.*; public class awtsave extends Frame // Button クラスの宣言 Button btnsave; Label lblcaption1, lblcaption2, lblcaption3; Label

More information

Microsoft PowerPoint - kougi6.ppt

Microsoft PowerPoint - kougi6.ppt C プログラミング演習 第 6 回ファイル処理と配列 1 ファイル処理 2 ファイル読み込み ファイル プログラム ファイルの中身は変わらない 3 ファイル書き出し ファイル プログラム ファイルの中身が変わる ファイルは伸び縮みすることがある 4 例題 1. テキストファイル形式の ファイルからのデータ読み込み 次のような名簿ファイル ( テキストファイル形式 ) を読み込んで,1 列目の氏名と,3

More information

gengo1-12

gengo1-12 外部変数 関数の外で定義される変数を外部変数 ( 大域変数 ) と呼ぶ 外部変数のスコープは広域的 ( プログラム全体 ) 全ての関数で参照可能 int a=10; double x=3.14159; printf( a = %d\n, a); sample(); printf( %f\n, x); void sample(void) printf( %f\n, x); x += 1.0; 外部変数

More information

演算増幅器

演算増幅器 ファイルこれまでにデータの入力方法として キーボードからの入力を用いてきた 構造体を習った際に実感してもらえたと思うが 入力データ量が多いときにはその作業は大変なものとなり 入力するデータを間違えた場合には最初からやり直しになる そこで今回はこれらの問題を解決するため あらかじめ入力データをテキストエディタなどで編集し ファイルとして保存したものを入力データとして用いる方法を習っていく さらにプログラムで作成したデータをファイルに出力する方法も併せて習っていく

More information

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問

Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問 Java 基礎問題ドリル ~ メソッドを理解する ~ 次のプログラムコードに 各設問の条件にあうメソッドを追加しなさい その後 そのメソッドが正しく動作することを検証するためのプログラムコードを main メソッドの中に追加しなさい public class Practice { // ここに各設問のメソッドを追加する public static void main(string[] args) {

More information

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード]

Microsoft PowerPoint Java基本技術PrintOut.ppt [互換モード] 第 3 回 Java 基本技術講義 クラス構造と生成 33 クラスの概念 前回の基本文法でも少し出てきたが, オブジェクト指向プログラミングは という概念をうまく活用した手法である. C 言語で言う関数に似ている オブジェクト指向プログラミングはこれら状態と振る舞いを持つオブジェクトの概念をソフトウェア開発の中に適用し 様々な機能を実現する クラス= = いろんなプログラムで使いまわせる 34 クラスの概念

More information

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy

ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする ) ためには 同期処理を用いるこ とが必要になる 同期処理は 予約語 synchronized で行うことができる ここでは sy オブジェクト指向プログラミング演習 2010/10/27 演習課題 スレッド ( その 2) 同期処理 結果不正 デッドロック 前回のスレッドの演習では 複数のスレッドを実行し 一つのプログラムの中の違う処理を同時に実行し た ただし 無作為にスレッドを複数実行すると 結果不正やデッドロックが起きる可能性がある 複数のスレッド ( マルチスレッド ) を安全に実行する ( スレッドセーフにする )

More information

Microsoft Word - Cプログラミング演習(9)

Microsoft Word - Cプログラミング演習(9) 第 9 回 (6/18) 3. ファイルとその応用 外部記憶装置に記録されたプログラムやデータを, ファイルと呼ぶ シーケンシャルファイルやランダムファイルへのデータの記録や読み出し, 更新の手順について学習する (1) ファイルとレコードファイル複数の関連したデータを一つに集めたり プログラムを外部記憶装置に保存したものレコードファイルを構成する一塊のデータ ex. 個人カードフィールドレコードを構成する個別の要素

More information