Microsoft PowerPoint - prog13.ppt

Similar documents
Microsoft PowerPoint - prog13.ppt

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog12.ppt

JavaプログラミングⅠ

Microsoft PowerPoint - prog03.ppt

ガイダンス

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

ガイダンス

ガイダンス

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

Microsoft PowerPoint - prog04.ppt

PowerPoint Presentation

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

Microsoft PowerPoint - prog08.ppt

Microsoft PowerPoint - prog08.ppt

GEC-Java

Java言語 第1回

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

Javaプログラムの実行手順

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

Microsoft PowerPoint - prog11.ppt

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

プログラミングA

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

PowerPoint プレゼンテーション

ガイダンス

Microsoft Word - java a.doc

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

Microsoft PowerPoint - prog11.ppt

デジタル表現論・第6回

ガイダンス

メソッドのまとめ

PowerPoint プレゼンテーション

Prog2_10th

< F2D B838A835882CC8CF68EAE2E6A7464>

<4D F736F F F696E74202D AC C8899E D834F E >

Java 2 - Lesson01

< F2D B825082CC96E291E82E6A7464>

Microsoft PowerPoint - OOP.pptx

< F2D834F838C A815B A CC>

Prog1_11th

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

Java言語 第1回

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

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

Microsoft PowerPoint - prog10.ppt

IE6 2 BMI chapter1 Java 6 chapter2 Java 7 chapter3 for if 8 chapter4 : BMI 9 chapter5 Java GUI 10 chapter6 11 chapter7 BMI 12 chap

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


Microsoft PowerPoint - prog10.ppt

JavaプログラミングⅠ

GEC-Java

< F2D E E6A7464>

Prog1_10th

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含

Programming-C-9.key

PowerPoint プレゼンテーション

ガイダンス

JavaプログラミングⅠ

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

2

Microsoft PowerPoint - OOP.pptx

break 文 switch ブロック内の実行中の処理を強制的に終了し ブロックから抜けます switch(i) 強制終了 ソースコード例ソースファイル名 :Sample7_1.java // 入力値の判定 import java.io.*; class Sample7_1 public stati

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

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

< F2D92DE82E8914B82CC977088D32E6A7464>

Prog2_9th

PowerPoint プレゼンテーション

HCI プログラミング 10 回目テキストフィールドとキーイベント 今日の講義で学ぶ内容 テキストフィールドの利用 キーイベントの処理 テキストフィールドの利用 1 テキストフィールドを配置してみましょう テキストフィールドを用いることにより 数値や文字列などのデータ入力が可能になります ソースファ

JavaプログラミングⅠ

PowerPoint Presentation

プログラミング入門1

Microsoft PowerPoint - prog08.ppt

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

Java プログラミング Ⅰ 7 回目 switch 文と論理演算子 今日の講義講義で学ぶ内容 switch 文 論理演算子 条件演算子 条件判断文 3 switch 文 switch 文 式が case のラベルと一致する場所から直後の break; まで処理しますどれにも一致致しない場合 def

プログラミング入門1

2

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

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

< F2D82B682E182F182AF82F12E6A7464>

< F2D82518CC282CC D2E6A7464>

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

JavaプログラミングⅠ

デジタル表現論・第4回

JavaプログラミングⅠ

< F2D8EA CE909482CC92EA82852E6A7464>

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

(1) プログラムの開始場所はいつでも main( ) メソッドから始まる 順番に実行され add( a,b) が実行される これは メソッドを呼び出す ともいう (2)add( ) メソッドに実行が移る この際 add( ) メソッド呼び出し時の a と b の値がそれぞれ add( ) メソッド

Prog1_2nd

プログラミング入門1

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

プログラムの基本構成

Java言語 第1回

2

1 Java Java GUI , 2 2 jlabel1 jlabel2 jlabel3 jtextfield1 jtextfield2 jtextfield3 jbutton1 jtextfield1 jtextfield2 jtextfield3

PowerPoint プレゼンテーション

PowerPoint Presentation

HCI プログラミング 8 回目ボタン チェックボックス ラジオボタン 今日の講義で学ぶ内容 ボタンとアクションイベント ボタンのカスタマイズ チェックボックスとラジオボタン ボタンとアクションイベント 1 ボタンを配置してみましょう ボタンは ラベルと同じようにフォントやその色 画像の貼り付けなど

Prog1_15th

Transcription:

プログラミング言語 3 第 13 回 (2008 年 01 月 07 日 ) 1

今日の配布物 片面の用紙 1 枚 今日の課題が書かれています 本日の出欠を兼ねています 2/57

今日やること http://www.tnlab.ice.uec.ac.jp/~s-okubo/class/java06/ にアクセスすると 教材があります 2008 年 01 月 07 日分と書いてある部分が 本日の教材です 本日の内容 入出力の基礎 アプレットではない GUI プログラム 3/57

最終レポートについて 4/57

課題について Web に学期末の課題があがっています 前回の授業の告知より 締め切りが延びているので web をみて確認しておいて下さい レポートは 紙に印刷したものをレポートボックスに メールで s-okubo@ice.uec.ac.jp に 提出して貰います 5/57

アプレットではない GUI プログラム 6/57

アプレットではない GUI プログラム 前回までは アプレットとしてプログラムを動作させることを行いました 今回は 単体で動くプログラムを作成します 7/57

基本的な流れ 次のような手順を踏みます 1. JFrame を拡張したクラスを定義する 2. mainの中ではguiのインスタンスを生成する 3. GUIのインスタンスが何を行うかを書く 1. GUIのコンポーネントの生成 2. アクションを検知するかの設定 3. 表示するようにadd 4. 何らかのアクションが行われたときに 何を行うかを書く 8/57

フレームの生成 今回は ボタンなどのオブジェクトを フレームというものの上に配置していきます フレームの生成方法は幾つかありますが この授業では JFrame クラスを拡張する方法を使用します Frame は 実際には 幾つかの部品からできています Root Pane Layout Pane Content Pane Glass Pane 9/57

JFrame のメソッドその 1 getcontentpane() JFrame 中の ContentPane を得ます settitle(" 文字列 "); Window のタイトルを指定します setsize(x, y); ここで x と y は整数値です Window のサイズを指定します setvisible(true) ; 実際に Frame を画面に表示します 10/57

JFrame のメソッドその 2 setdefaultcloseoperation( 引数 ) Close ボタンが押されたときに どのようにするかを指定します 引数に JFrame.EXIT_ON_CLOSE を与えると Close ボタンが押されると プログラムが終了するようになります 11/57

サンプルプログラムその 1 import java.awt.*; import javax.swing.*; JFrame クラスを拡張 class Sample13a extends JFrame { Sample13a() { setdefaultcloseoperation(jframe JFrame.EXIT_ON_CLOSE); settitle("sample13a"); setsize(200, 100); 実際に行うこと setvisible(true); コンストラクタなので クラ スメイト同じに public static void void main(string [] [] args) { new new Sample13a(); mainの中では 生成を行う 12/57

ボタンなどのオブジェクトは Content Pane に追加します 実際には ContetnPaneのメソッド add を使い オブジェクトを追加します JFrameのメソッドgetContentPane() を使い getcontentpane().add( オブジェクト名 ) として追加することも可能です Root Pane コンポーネントの追加 Layout Pane Content Pane Glass Pane 13/57

サンプルプログラムその 2 import java.awt.*; import javax.swing.*; class Sample13b extends JFrame { インスタンスを生成 Sample13b() { JLabel label = new new JLabel("Sample13b"); getcontentpane().add(label); インスタンスを登録 setdefaultcloseoperation(jframe.exit_on_close); settitle("sample13b"); setsize(200, 100); setvisible(true); public static void void main(string[] args) { new new Sample13b(); 14/57

サンプルプログラムその 3 [1/3] import java.awt.*; import java.awt.event.*; import javax.swing.*; インターフェイス ActionListener を実装 JFrame を拡張 public class Sample13c extends JFrame implements ActionListener{ JButton bt1 bt1 = new new JButton("Button 1"); 1"); JButton bt2 bt2 = new new JButton("Button 2"); 2"); JLabel lb1 lb1 = new new JLabel("Sample13c"); インスタンスを生成 15/57

サンプルプログラムその 3 [2/3] Sample13c(){ GridLayout layout = new new GridLayout(5,1); レイアウト方法 layout.setvgap setvgap(3); (3); の設定 getcontentpane(). ().setlayout setlayout(layout); 5x1でオブジェ bt1.addactionlistener addactionlistener(this); ボタンが押されたことをクトを置き bt2.addactionlistener addactionlistener(this); 検知するようにする オブジェクト getcontentpane().add(bt1); 間の隙間は3 getcontentpane().add(bt2); インスタンスを登録と設定 getcontentpane().add(lb1); setdefaultcloseoperation(jframe.exit_on_close); settitle("sample13b"); setsize(200, 100); setvisible(true); 16/57

サンプルプログラムその 3 [3/3] public void voidactionperformed(actionevent e){ e){ if(e.getsource() == == bt1){ lb1.settext("bottun 01"); else if(e.getsource() == == bt2){ lb1.settext("bottun 02"); public static void void main(string[] args){ new new Sample13c(); ボタンが押されたら何をするかを記述 17/57

基本的な入出力その 1 キーボードからの入力 18/57

キーボードからの入力 キーボードから入力を行う場合 以下のことを行う必要があります 1. 入力をどこから貰うかを設定する 今回は標準入力を指定 2. 入力を どこにバッファするかを指定する 3. エラーが発生したとき どのようにするかを指定する 19/57

入力の設定 1. 入力をどこからをどこから貰うかをうかを設定設定するする 今回は標準入力標準入力を指定指定 2. 入力を どこにバッファするかを指定する 3. エラーが発生したとき どのようにするかを指定する どこから入力を貰うかを指定するには ImputStreamReaser というクラスのインスタンスを生成します たとえば ImputStreamReader isr isr = new new ImputStreamReader(System.in); のようにします ここで System.in は標準入力を意味しています 多くの場合はキーボードです 20/57

バッファの設定 1. 入力をどこから貰うかを設定する 今回は標準入力を指定 2. 入力を どこにどこにバッファバッファするかをするかを指定指定するする 3. エラーが発生したとき どのようにするかを指定する 入力したものを バッファする場所を生成します 具体的には BufferdReader クラスのインスタンスを生成します たとえば BufferdReader kbd kbd = new new BufferdReader(isr); のようにします ここで isr は 1 ページ前のスライドで生成したインスタンスです 21/57

省略記法 1. 入力をどこからをどこから貰うかをうかを設定設定するする 今回は標準入力標準入力を指定指定 2. 入力を どこにどこにバッファバッファするかをするかを指定指定するする 3. エラーが発生したとき どのようにするかを指定する まとめて 1 行で書くことができます その場合 BufferdReader kbd kbd = new new BufferdReader( new new ImputStreamReader(System.in) ); ); のようにします こちらの手法で書くことの方が多いです 22/57

例外処理 1. 入力をどこから貰うかを設定する 今回は標準入力を指定 2. 入力を どこにバッファするかを指定する 3. エラーが発生発生したときしたとき どのようにするかを指定するする 自分で例外処理を書く方法と 呼び出し側に例外処理を任せる方法があります 自分で例外処理を書く場合は try の中で入力を受け取り catch の中に例外処理を書きます 入力を受け取るときに発生する例外は IOException です 呼び出し側に例外処理を任せる場合は メソッド名のあとに throws IOException と書きます 23/57

文字の入力 これで キーボードから文字を入力することができるようになりました 実際に キーボードから入力するためには クラス BufferReader のメソッド readline を使用します たとえば クラス BufferReader のインスタンス kbd が生成されていて String ss に読み込んだ内容を代入したいなら ss ss = kbd.readline(); のようにします 24/57

サンプルプログラム import java.io io.*;.*; 入出力を行う際に必要なパッケージを import 標準入力からの入力 class Sample13d{ を受け取り 内容を保 public static void void main(string [] [] args){ 存するバッファを生成 String ss; ss; BufferedReader kbd kbd = new new BufferedReader( new new InputStreamReader(System.in) ); ); try{ try{ 入力時の System.out.println(Input:); ss=kbd kbd.readline readline(); 例外処理 (); 1 行の入力を読み込み System.out.println(ss); を記述 ssに代入する catch(ioexception e){ e){ System.out.println("Error:"+e); 25/57

サンプルプログラム import java.io.*; 入力時に例外処理がおきたら 呼び出し元にまかせる class Sample13e{ public static void void main(string [] [] args) throws IOException{ String ss; ss; BufferedReader kbd kbd = new new BufferedReader( new new InputStreamReader(System.in) 1 行の入力を読み込み ); ssに代入する ); 標準入力からの入力 while((ss ss=kbd kbd.readline readline() ()) ())!=!= null){ を受け取り 内容を保 System.out.println("Input:" + ss); ss); 存するバッファを生成 Ctrl を押しながら d を押すことで プログラムが終了します 26/57

値の入力その 1 標準入力から入力できるものは 基本的に文字列となります 値を入力したい場合は 文字列として読み込んだ後 整数値や浮動小数点数に変換します 27/57

値の入力その 2 整数値に変換する場合 クラスメソッドの Integer.parseInt を用います ss を整数値に変換して int 型の変数 di に代入するなら di di = Integer.parseInt(ss); のようにします double 型の値に変換する場合 クラスメソッドの Double.parseDouble を用います ss を double 型の値に変換して double 型の変数 di に代入するなら dd = Double.parseDouble(ss); dd = Double.parseDouble(ss); のようにします 28/57

値の入力その 3 parseint や parsedouble では 変換できない文字列が与えられたとき エラーが発生します 発生する例外は NumberFormatException です try の中で parseint や parsedouble を実行し NumberFormatException を catch することで 変換できない文字列が入力されたときも動作を続けるプログラムを書くことができます 29/57

サンプルプログラム import java.io.*; 入力時に例外処理がおきたら 呼び出し元にまかせる class Sample13f{ public static void void main(string [] [] args) throws IOException{ String ss; ss; double dd; dd; バッファを生成 BufferedReader kbd kbd = new new BufferedReader( new new InputStreamReader(System.in) ); ); ss=kbd kbd.readline readline(); (); 1 行の入力を読み込み ssに代入 try{ try{ 変換時の dd dd = Double.parseDouble parsedouble(ss ss); ss); System.out.println(dd*10); 文字列を例外処理 double 型の値に catch(numberformatexception e){ e){ 変換 System.out.println("Error:"+e); 30/57

基本的な入出力その 2 ファイルからの入力 ファイルへの出力 この授業では 基本的な ファイルへの文字列の書き出しとファイルからの文字列の読み出しを行います 31/57

ファイルからの入力 ファイルから入力を行う場合 ( つまり ファイルから読み込む場合 ) 以下のことを行う必要があります 1. ファイルをオープンする 1. 入力をどこから貰うかを設定する 今回はどのファイルから読み込むかを指定 2. 入力を どこにバッファするかを指定する 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルから文字を読み取る 4. ファイルをクローズする 32/57

入力の設定 1. ファイルをオープンオープンするする 1. 入力をどこからをどこから貰うかをうかを設定設定するする 今回はどのはどのファイルファイルからから読み込むかをむかを指定指定 2. 入力を どこにバッファするかを指定する 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルから文字を読み取る 4. ファイルをクローズする どのファイルから入力を貰うかを指定するには FileReader というクラスのインスタンスを生成します たとえば test1.txt から入力を貰う場合は FileReader fr = new FileReader("test1.txt"); FileReader fr = new FileReader("test1.txt"); のようにします 33/57

バッファの設定 1. ファイルをオープンオープンするする 1. 入力をどこから貰うかを設定する 今回はどのファイルから読み込むかを指定 2. 入力を どこにどこにバッファバッファするかをするかを指定指定するする 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルから文字を読み取る 4. ファイルをクローズする 入力したものを バッファする場所を生成します 具体的には BufferdReader クラスのインスタンスを生成します たとえば BufferdReader fin fin = new new BufferdReader(fr); のようにします ここで fr は 1 ページ前のスライドで生成したインスタンスです 34/57

省略記法 まとめて 1 行で書くことができます その場合 BufferdReader fin fin = new new BufferdReader( new new FileReader("test1.txt") ); ); のようにします 1. ファイルをオープンオープンするする こちらの手法で書くことの方が多いです 1. 入力をどこからをどこから貰うかをうかを設定設定するする 今回はどのはどのファイルファイルからから読み込むかをむかを指定指定 2. 入力を どこにどこにバッファバッファするかをするかを指定指定するする 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルから文字を読み取る 4. ファイルをクローズする 35/57

1. ファイルをオープンする 1. 入力をどこから貰うかを設定する 今回はどのファイルから読み込むかを指定 2. 入力を どこにバッファするかを指定する 例外処理 2. エラーが発生発生したときしたとき どのようにするかをどのようにするかを指定指定するする 3. 実際にファイルから文字を読み取る 4. ファイルをクローズする キーボードからの入力の時と同様に エラー処理を書きます ファイルをオープンするときにもエラーが発生する可能性があるため ファイルをオープンするための記述も try 文の中に書く必要があります 発生するエラーや書き方は キーボードからの入力のときと同じです 36/57

文字の入力 これで ファイルから文字を読み取ることができるようになりました 実際に ファイルから文字列を読み込むためには クラス BufferReader のメソッド readline を使用します たとえば クラス BufferReader のインスタンス fin が生成されていて String ss に読み込んだ内容を代入したいなら ss ss = fin.readline(); のようにします 1. ファイルをオープンする 1. 入力をどこから貰うかを設定する 今回はどのファイルから読み込むかを指定 2. 入力を どこにバッファするかを指定する 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルファイルからから文字文字を読み取る 4. ファイルをクローズする 37/57

ファイルの クローズ ファイルへの操作が終わったら ファイルをクローズする必要があります ファイルをクローズするには クラス BufferReader のメソッド close を使用します たとえば クラス BufferReader のインスタンス fin が生成されていて ファイルをクローズするなら fin.close(); のようにします 1. ファイルをオープンする 1. 入力をどこから貰うかを設定する 今回はどのファイルから読み込むかを指定 2. 入力を どこにバッファするかを指定する 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルから文字を読み取る 4. ファイルをクローズクローズするする 38/57

サンプルプログラム import java.io.*; class Sample13g{ public static void void main(string [] [] args){ String ss; ss; ファイルをオープン try{ try{ BufferedReader fin fin = new new BufferedReader( 例外処理 new new FileReader("test1.txt") ); ); ss=fin. =fin.readline readline(); 1 行の入力を読み込み ssに代入 (); System.out.println(ss); fin.close(); ファイルをクローズ catch(ioexception e){ e){ System.out.println("Error:"+e); 39/57

ファイルへの出力 ファイルへ出力を行う場合 以下のことを行う必要があります 1. ファイルをオープンする 1. 出力をどこに行うかを指定する 2. 出力データを どこにバッファするかを指定する 3. 実際に書き出しを行うインスタンスを生成する 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルへ文字を書き出す 4. ファイルをクローズする 40/57

出力先の設定 1. ファイルをオープンオープンするする 1. 出力をどこにをどこに行うかをうかを指定指定するする 2. 出力データを どこにバッファするかを指定する 3. 実際に書き出しを行うインスタンスを生成する 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルへ文字を書き出す 4. ファイルをクローズする どのファイルへ出力を行うかを指定するには FileWriter というクラスのインスタンスを生成します たとえば test2.txt へ出力を行う場合は FileWriter fw = new FileWriter("test2.txt"); FileWriter fw = new FileWriter("test2.txt"); のようにします 41/57

1. ファイルをオープンオープンするする 1. 出力をどこに行うかを指定する 2. 出力データデータを どこにどこにバッファバッファするかをするかを指定指定するする 3. 実際に書き出しを行うインスタンスを生成する バッファの設定 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルへ文字を書き出す 4. ファイルをクローズする 入力したものを バッファする場所を生成します 具体的には BufferdWriter クラスのインスタンスを生成します たとえば BufferdWriter bw bw = new new BufferdWriter(fw); のようにします ここで fw は 1 ページ前のスライドで生成したインスタンスです 42/57

出力用の インスタンス 1. ファイルをオープンオープンするする 1. 出力をどこに行うかを指定する 2. 出力データを どこにバッファするかを指定する 3. 実際に書き出しをしを行うインスタンスインスタンスを生成生成するする 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルへ文字を書き出す 4. ファイルをクローズする 実際にファイルに出力するインスタンスを生成します 具体的には PrintWriter クラスのインスタンスを生成します たとえば PrintWriter fout fout = new new PrintWriter(bw); のようにします ここで bw は 1 ページ前のスライドで生成したインスタンスです 43/57

省略記法 1. ファイルをオープンオープンするする 1. 出力をどにをどに行うかをうかを指定指定するする 2. 出力データデータを どこにどこにバッファバッファするかをするかを指定指定するする 3. 実際に書き出しをしを行うインスタンスインスタンスを生成生成するする 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルへ文字を書き出す 4. ファイルをクローズする まとめて 1 行で書くことができます その場合 PrintWriter fout fout = new new PrintWriter( new new BufferdWriter( new new FileWriter("test2.txt") ) ); ); のようにします こちらの手法で書くことの方が多いです 44/57

1. ファイルをオープンする 1. 出力をどに行うかを指定する 2. 出力データを どこにバッファするかを指定する 3. 実際に書き出しを行うインスタンスを生成する 例外処理 2. エラーが発生発生したときしたとき どのようにするかをどのようにするかを指定指定するする 3. 実際にファイルへ文字を書き出す 4. ファイルをクローズする キーボードからの入力の時と同様に エラー処理を書きます ファイルをオープンするときにもエラーが発生する可能性があるため ファイルをオープンするための記述も try 文の中に書く必要があります 発生するエラーや書き方は ファイルからの入力のときと同じです 45/57

1. ファイルをオープンする 1. 出力をどに行うかを指定する 2. 出力データを どこにバッファするかを指定する 3. 実際に書き出しを行うインスタンスを生成する 文字の出力 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルファイルへ文字文字を書き出す 4. ファイルをクローズする これで ファイルへ文字を出力することができるようになりました 実際に ファイルへ文字列を書き揉むためには クラス PrintWriter のメソッド println を使用します たとえば クラス PrintWriter のインスタンス fout が生成されていて String ss を書き込みたいなら fout.println(ss); のようにします 46/57

1. ファイルをオープンする ファイルの クローズ 1. 出力をどに行うかを指定する 2. 出力データを どこにバッファするかを指定する 3. 実際に書き出しを行うインスタンスを生成する 2. エラーが発生したとき どのようにするかを指定する 3. 実際にファイルへ文字を書き出す 4. ファイルをクローズクローズするする ファイルへの操作が終わったら ファイルをクローズする必要があります ファイルをクローズするには クラス BufferReader のメソッド close を使用します たとえば クラス BufferReader のインスタンス fin が生成されていて ファイルをクローズするなら fin.close(); のようにします 47/57

サンプルプログラム import java.io.*; class Sample13h{ public static void void main(string [] [] args){ ファイルをオープン try{ try{ PrintWriter fout fout = new new PrintWriter( 例外処理 new new BufferedWriter( new new FileWriter("test2.txt") ) ); ); ファイルに書き出し fout.println println("test data"); fout.close(); ファイルをクローズ catch(ioexception e){ e){ System.out.println("Error:"+e); 48/57

コマンドラインからの引数 49/57

コマンドラインからの引数 メソッド main の引数である args[] には コマンドラインから与えられた引数が入ります args.length は 引数の個数を返します args[0] には 最初の引数が文字列として格納されます args[1] には 2 番目の引数が文字列として格納されます 同様に args[i] には i+1 番目の引数が文字列として格納されます 50/57

サンプルプログラム class Sample13i{ public static void void main(string [] [] args){ int int i; i; for(i=0;i<=args.length-1;i++){ System.out.println(args[i]); コンパイルしたあと コマンドラインで java Sample13i 001 002 003 004 のように実行してみましょう 51/57