Prog2_10th

Similar documents
Prog1_11th

Prog1_15th

Prog2_9th

Prog1_10th

Prog1_13th

Prog1_6th

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

Prog1_12th

JavaプログラミングⅠ

2006年10月5日(木)実施

Prog1_2nd

Prog1_3rd

GEC-Java

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

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

JavaプログラミングⅠ

Microsoft PowerPoint - OOP.pptx

PowerPoint プレゼンテーション

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

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

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

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

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

プログラミングA

2

2

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

ファイル入出力Ⅰ

デジタル表現論・第6回

GEC-Java


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

Microsoft PowerPoint - prog09.ppt

Microsoft PowerPoint - prog09.ppt

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

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

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

K227 Java 2

メソッドのまとめ

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

JavaプログラミングⅠ

Programming-C-9.key

<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>

Microsoft Word - java a.doc

プログラムの基本構成

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

ファイル入出力Ⅱ

JavaプログラミングⅠ

Microsoft PowerPoint - prog03.ppt

2

Prog1_10th

PowerPoint Presentation

Microsoft PowerPoint - prog13.ppt

Java言語 第1回

JavaプログラミングⅠ

Microsoft PowerPoint - prog13.ppt

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

PowerPoint Presentation

File IO

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

JavaプログラミングⅠ

JavaプログラミングⅠ

2

問題1 以下に示すプログラムは、次の処理をするプログラムである

Javaプログラムの実行手順

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

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

マークアップ言語

JavaプログラミングⅠ

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

Java講座

Web 1 p.2 1 Servlet Servlet Web Web Web Apache Web Servlet JSP Web Apache Tomcat Jetty Apache Tomcat, Jetty Java JDK, Eclipse

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

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

プログラミング入門1

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

PowerPoint プレゼンテーション

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

II 1 p.1 1 Servlet 1.1 Web Web WWW HTML CGI Common Gateway Interface Web HTML Web Web CGI CGI CGI Perl, PHP C JavaScript Web CGI HTML 1.2 Servlet Java

スライド 1

Prog2_12th

デジタル表現論・第4回

JavaプログラミングⅠ

Microsoft PowerPoint ppt

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

マークアップ言語

日 力力 生 行行 入 入 力力 生 用 方

Microsoft PowerPoint - lec06 [互換モード]

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

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

PowerPoint プレゼンテーション

情報処理演習 B8クラス

PowerPoint プレゼンテーション

r1.dvi

プログラミング入門1

文字列操作と正規表現

Microsoft PowerPoint - 第3回目.ppt [互換モード]

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

Javaセキュアコーディングセミナー東京 第2回 数値データの取扱いと入力値の検証 演習解説

JavaプログラミングⅠ

Transcription:

2013 年 11 月 28 日 ( 木 ) 実施 ファイル操作とディレクトリ操作今回の授業では,Java 言語でのファイル操作とディレクトリ操作とについて学習する ファイル操作ファイル操作は,C 言語プログラミングで学んだように, 次の順序で行う 1) ストリームを開く 2) ストリームからの入力, ストリームへの出力 3) ストリームを閉じる Java 言語では, ファイル操作に関係するクラスが複数用意されている ここでは, テキストファイルからの読み込みのための簡易クラス FileReader, テキストファイルに文字を書き込むための簡易クラス FileWriter の使い方を中心に学ぶ ディレクトリ操作 Java 言語でディレクトリ操作を行うには, ファイルおよびディレクトリのパス名の抽象表現を表すクラス File を用いる パス名には絶対パス名 ( ルートディレクトリから辿ったパス名 ) または相対パス名 ( カレントディレクトリから辿ったパス名 ) を用いる 例題 1 ( ファイルの読み込み ) 次のプログラムを入力し, ビルドして, 実行せよ ここで, クラス名はSample10_1, ソースファイル名は Sample10_1.java とする なお,Eclipse ではそのまま実行した後, 実行 実行構成 引数 プログラムの引数 と辿り, テキストエリア内に jimbo\cuc.java (jimbo の箇所は自分の名前に置き換える ) を入力して実行する public class Sample10_1 { if (args.length!= 1) { System.out.println(" 利用法 :java Sample10_1 ファイル名 "); String fname = args[0]; BufferedReader br = new BufferedReader(new FileReader(fname)); - 1 -

while ((iline = br.readline())!= null) { System.out.println(iline); catch (FileNotFoundException fe) { System.out.println(fname +" というファイルが開けません "); catch (IOException err) { 解説 1.args.length は, 配列を参照する変数 args が参照している配列の要素の個数を int 型の値として返す この値はプログラム実行時に与えられたコマンドライン引数の個数 ( プログラム名はカウントしない ) で, これが 1の場合は,args[0] に引数が格納されている 2.System.exit はプログラムの実行を中断する 引数は 0 の時に正常終了,0 以外の時に異常終了を表す 3.FileReaderクラスのインスタンスが生成されるとストリームが開かれる 4.closeメソッドはストリームを閉じる際に用いる 5. 例外クラスFileNotFoundException は指定されたパス名で示されるファイルが開けなかったことを通知することに対応する 例題 2 ( ファイルの読み込み及び書き込み ) 次のプログラムを入力し, ビルドして, 実行せよ ここで, クラス名はSample10_2, ソースファイル名は Sample10_2.java とする なお,Eclipse ではそのまま実行した後, 実行 実行構成 引数 プログラムの引数 と辿り, テキストエリア内に jimbo\cuc.java 半角空白 Cuc_sjis.java (jimboの箇所は自分の名前に置き換える) を入力して実行する import java.io.bufferedwriter; import java.io.fileoutputstream; import java.io.outputstreamwriter; import java.io.printwriter; public class Sample10_2 { if (args.length!= 2) { System.out.println(" 利用法 :java Sample10_2 入力ファイル名出力ファイル名 "); - 2 -

String fname1 = args[0], fname2 = args[1]; BufferedReader br = new BufferedReader(new FileReader(fname1)); FileOutputStream fos = new FileOutputStream(fname2); PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(fos, "SJIS"))); while ((iline = br.readline())!= null) { pw.println(iline); pw.close(); catch (FileNotFoundException fe) { System.out.println(fname1 +" というファイルが開けません "); catch (IOException err) { 解説 1.FileOutputStream クラスは, 生のバイト ( イメージデータ等 ) のストリームを書き込む際に用いる 2.OutputStreamWriter クラスは, バイトストリームに書き込まれた文字を指定された文字セットによりバイトに符号化する 用いる文字セットは, 名前で指定するか, 明示的に渡すか, またはプラットフォームのデフォルトの文字セットの何れかである ここでは,"SJIS" により, Shift_JISで書き込むことを指定している 3.PrintWriter クラスは, オブジェクトの書式付き表現をテキスト出力ストリームに出力する際に用いる そのインスタンスに対して,printlnメソッドは行単位の書き込みを行う 例題 3 ( ディレクトリの表示 ) 次のプログラムを入力し, ビルドして, 実行せよ ここで, クラス名はSample10_3, ソースファイル名は Sample10_3.java とする なお,Eclipse ではそのまま実行した後, 実行 実行構成 引数 プログラムの引数 と辿り, テキストエリア内に jimbo (jimboの箇所は自分の名前に置き換える ) を入力して実行する import java.io.file; public class Sample10_3 { - 3 -

if (args.length!= 1) { System.out.println(" 利用法 :java Sample10_3 パス名 "); String dname = args[0]; File directory = new File(dname); String[] dlist = directory.list(); for (int i=0; i<dlist.length; i++) { System.out.println(dlist[i]); 解説 File クラスのインスタンスに対して,list メソッドは抽象パス名が示すディレクトリにあるファイル及びディレクトリを示す文字列の配列を返す 抽象パス名がディレクトリを示さない場合, このメソッドは null を返す ディレクトリを示す場合は, 文字列の配列が返される なお, 結果の配列の名前文字列は特定の順序にはならない 演習 1 次のプログラムリストの空欄を埋めたプログラムを作成し, ビルドして実行せよ ここで, プログラムのクラス名は Ex10_1, ソースプログラム名はEx10_1.java とする なお, このプログラムは,10 個の整数データが各行に記述された入力用のファイル input.txtを開き, そこから読み込んだデータをソートした結果を, 出力用のファイル output.txt を開いて書き込むものである Eclipse ではそのまま実行した後,workspace の直下の Prog2 ( プロジェクト名のディレクトリ ) にダウンロードした input.txtを配置して実行する import java.io.bufferedwriter; import java.io.filewriter; import java.io.printwriter; public class Ex10_1 { final int NUM = 10; int[] x = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0; BufferedReader br = new BufferedReader(new FileReader("input.txt")); PrintWriter pw = new PrintWriter(new BufferedWriter(new FileWriter("output.txt"))); - 4 -

for (int i=0; i<num; i++) { iline = 1).readLine(); x[i] = Integer.parseInt(2) ); sort(x); for (int i=0; i<num; i++) { 3).println(x[i]); pw.close(); catch (FileNotFoundException fe) { System.out.println("input.txt というファイルが開けません "); catch (IOException err) { catch (NumberFormatException exnf) { System.out.println(" 整数でないものが含まれています "); private static void sort(int[] a){ for(int i=0; i<a.length-1; i++) for(int j=i+1; j<a.length; j++) if(a[j]>a[i]){ int temp = a[i]; a[i] = a[j]; a[j]=temp; 提出物 : 1) 例題 1 3 の出力結果をコピーして貼り付けたテキストファイル res10.txt 2) 演習 1 のソースプログラムのファイル Ex10_1.java - 5 -