第1章

Size: px
Start display at page:

Download "第1章"

Transcription

1 第 12 章 資料檔案管理 1

2 本章提要 12.1 前言 12.2 資料讀取 Reader/InputStream Reader/InputStream System 類別 12.3 資料建檔 Writer/OutputStream 12.4 資料修改 RandomAccessFile 12.5 變更及移動檔案 12.6 檔案列表 12.7 後記 2

3 12.1 前言 為了減少計算錯誤及提高作業效率, 我們希望幫張老師設計出一支好用的學生資料檔案管理程式功能包括 : 1. 學生基本資料檔案讀取 2. 學生成績建檔 3. 修改成績記錄 4. 成績資料檔更名 5. 成績資料檔列示 3

4 12.2 資料讀取 Reader/InputStream 基本資料儲存在 Student.txt" 檔案中, 該如何將資料從檔案中取出並顯示到螢幕上呢? Java 提供兩個非常有用的類別, 來幫助我們從檔案中取出所需的資料 : Reader InputStream 4

5 12.2 資料讀取 Reader/InputStream Reader: 就像是一個檔案的指示器一樣, 指向檔案所存在的地方, 並且有一個讀寫頭對檔案進行讀取 關閉等動作 InputStream: 將資料排成一排, 形成一條如水流般的資料串流 (Stream) 當我們打開資料串流時, 資料就像水龍頭被打開一樣, 從資料串流中流了出來 5

6 12.2 資料讀取 Reader/InputStream 6

7 Reader/InputStream Reader 的宣告如下 : Public abstract class Reader extends Object InputStream 的宣告如下 : Public abstract class InputStream extends Object 7

8 Reader/InputStream Reader 提供的函式 1. close (): 關閉資料流 2. int read (): 讀取資料並傳回, 如果已到結尾, 則傳回 int read (char [] array): 將讀取的資料放到 array[] 中, 傳回的資訊為讀取的字元數 4. boolean ready (): 檢查資料是否已準備好, 若是則傳回 true; 反之, 則傳回 false 5. long skip (long n): 跳過 n 個位元組不讀取 8

9 Reader/InputStream InputStream 提供的函式 1. close () : 關閉資料流 2. int read (): 讀取資料並傳回, 如果已到結尾, 則傳回 int read (char [] array): 將讀取的資料放到 array[] 中, 傳回的資訊為讀取的字元數 4. int avaiable (): 傳回目前可以被讀取的字元數 5. long skip (long n): 跳過 n 個位元組不讀取 9

10 Reader/InputStream Reader 及 InputStream 只是抽象 (Abstract) 類別, 裡面定義的某些功能是有名無實的函式需要用到檔案存取功能時, 必需使用繼承自 Reader 及 InputStream 的 FileReader FileInputStream InputStreamReader 這些類別就真正去撰寫 read close ready skip 等函式內容 10

11 Reader/InputStream FileReader 是 Reader 及 InputStreamReader 的子類別, 其宣告如下 : Public class FileReader extends InputStreamReader 項 FileReader 類別的建構元次 1 FileReader (File file) 2 FileReader (String filename) 11

12 Reader/InputStream FileInputStream 是 InputStream 的子類別, 其宣告如下 : Public class FileInputStream extends InputStreamReader 項次 FileInputStream 類別的建構元 1 FileInputStream (File 2 FileInputStream (String filename) 12

13 Reader/InputStream FileReader FileInputStream InputStreamReader 等類別, 取出的資料皆是以位元組 (byte) 為單位, 屬於較低階的資料處理類別比較方便好用的高階資料處理類別 BufferedReader BufferedInputStream 使得資料讀取以字元 (char) 為單位 13

14 Reader/InputStream Reader 及 InputStream 類別的繼承關係如 下表所示 抽象類別低階類別高階類別 Reader InputStream FileReader FileInputStream InputStreamReader FilterReader BufferedReader BufferedInputStream 14

15 Reader/InputStream BufferedReader 是 Reader 的子類別, 其宣告如下 : Public class BufferredReader extends Reader BufferedReader 提供的函式 String readline () : 從檔案一次讀取一列資料, 並以字串方式傳出 15

16 範例程式 1 學生資料讀取 6 import java.io.*; 13 public ch12_fileread() 14 { 15 try{ // 截取例外情況 16 FileReader fr = new FileReader ("Student.txt"); 17 BufferedReader breader = new BufferedReader(fr); // 開啟資料檔 18 while(true){ 19 String strdata = breader.readline(); // 一次讀取一列 20 if(strdata == null) break; // 如果到達檔尾則結束 21 System.out.println(strData); // 將結果顯示在螢幕上 22 }// end of while 23 fr.close(); 24 breader.close(); // 關閉檔案 25 }catch (IOException e) { 26 System.out.print("Error:" + e); 27 System.exit(1); 28 } 29 } 16

17 範例程式 1 學生資料讀取 31 public static void main(string[] args) 32 { 33 ch12_fileread fread = new ch12_fileread(); 34 } 執行結果 林嘉至 桃園縣 周羽玲 台中縣 吳大明 台北縣 黃清德 嘉義縣 楊得意 台北市 17

18 範例程式 2 FileInputStream 讀取學生資料 8 public ch12_fileinputstream() 9 { 10 try{ // 截取例外情況 11 File f = new File("Student.txt"); 12 BufferedInputStream input = new BufferedInputStream (new FileInputStream(f)); 13 byte buffer[] = new byte[8]; 14 while(input.available()>0) 15 { input.read(buffer, 0, 8); 16 System.out.print(new String(buffer)); 17 } 18 input.close(); 19 }catch (IOException e) { 20 System.out.print("Error:" + e); 21 System.exit(1); 22 } 23 } 18

19 範例程式 2 FileInputStream 讀取學生資料 24 public static void main(string[] args) 25 { 26 ch12_fileinputstream finputstream = new ch12_fileinputstream(); 27 } 執行結果 林嘉至 桃園縣 周羽玲 台中縣 吳大明 台北縣 黃清德 嘉義縣 楊得意 台北市 19

20 System 類別 InputStream 除了可以指向檔案外, 也可以指向鍵盤輸入及網路傳入資訊的地方當使用者使用鍵盤輸入資料時, 我們可以利用 InputStream 指向資料輸入的地方, 形成一個資料串流 20

21 System 類別 那要怎麼知道鍵盤輸入的資料串流在那裡呢? 要如何抓到使用者鍵入的字元呢? System 類別 System 所提供的函式都是 static 的, 所以我們可以直接使用 System 的函式 21

22 System 類別 System 提供的變數 項次 PrintStream err 標準錯誤資訊輸出串流 InputStream in 標準資料輸入串流 PrintStream out 標準資料輸出串流 System 的變數 22

23 System 類別 在 System 類別裡面有三個變數 :err in 及 out err 是錯誤訊息的資料串流, 當系統發生錯誤時, 我們可以從 err 中取得錯誤訊息 in: 為鍵盤輸入的資料串流, 當使用者利用鍵盤輸入資料時, 我們可以從 in 中取得所輸入的資料 out: 為標準輸出的資料串流, 當想要將資訊顯示在螢幕上, 可以利用 out 資料串流將資料寫出去 23

24 out 的例子 System 類別 System.out.println( this is a test"); System.out 負責指向螢幕輸出的地方, 然後再利用 PrintStream 類別提供的 println() 函式, 將資料以一次顯示一列的方式送到 System.out 指定的資料串流上 24

25 System 類別 在 System 類別裡面 in 就是負責處理輸入資料的資料串流 所以當下達 System.in.read(); 指令時, 就是從鍵盤中取得使用者鍵入的資料 System.in 就指向鍵盤輸入的地方, 而 read() 函式是 InputStream 類別提供的, 用來抓取 System.in 指定地方的資料 25

26 範例程式 3 從鍵盤輸入資料 8 public static void main(string[] args) 9 { 10 try{ 11 byte buffer[] = new byte[20]; 12 byte score[] = new byte[10]; System.out.println(" 輸入一個字串 :" ); 15 System.in.read(buffer); 16 String strdata1 = (new String(buffer)).trim(); System.out.println(" 輸入一個數字 :" ); 19 System.in.read(score); 20 int Num =Integer.parseInt((new String(score)).trim()); 26

27 範例程式 3 從鍵盤輸入資料 22 System.out.println(" 輸入的資料為 :" +strdata1); 23 System.out.println(" 輸入的數值為 :" +Num); }catch (IOException e) { 26 System.out.print("Error:" + e); 27 System.exit(1); 28 } 29 } 執行結果 輸入一個字串 :this is a test 輸入一個數字 :50 輸入的資料為 :this is a test 輸入的數值為 :50 27

28 12.3 資料建檔 Writer/OutputStream 該如何將資料輸入到檔案中呢 Reader 及 InputStream 提供使用者從檔案中取出所需的資料, 相對的,Writer 及 OutputStream 能夠幫助我們將資料寫入檔案中 Writer 及 OutputStream 也是抽象類別, 裡面定義了檔案寫入會用到的寫入 (write) 關閉 (close) 強迫寫入 (flush) 等函式 28

29 12.3 資料建檔 Writer/OutputStream FileWriter FileOutputStream OutputStreamReader 等類別, 是 Writer 及 OutputStream 的子類別 抽象類別低階類別高階類別 Writer OutputStream FileWriter FileOutputStream OutputStreamWriter FilterWriter BufferedWriter BufferedOutputStream 29

30 12.3 資料建檔 Writer/OutputStream FileWriter 建構元 項 FileWriter 類別的建構元次 1 FileWriter (File file) 2 FileWriter (String filename) 3 FileWriter (String filename, boolean append) 30

31 12.3 資料建檔 Writer/OutputStream FileWriter 提供的函式 項次 1 close() 關閉檔案 2 flush() 強迫將資料寫入檔案中 write (char [] array) 將 array 陣列資料寫入 FileWriter 的方法 write (char [] array, int index, int len) 將 array 陣列中從第 index 字元開始, 共寫入 len 個字元 write (int c) 只寫入一個字元 write (String str) 寫入一個字串 31

32 範例程式 4 成績資料檔資料建立 13 public void WriteData(String StudentData) 14 { 15 try{ 16 FileWriter fwriter = new FileWriter("Score.txt", true);// 開檔 17 fwriter.write(studentdata); // 將輸入參數 StudentData 寫入檔案中 18 fwriter.close(); // 關閉檔案 19 } catch (IOException e){} 20 } 32

33 範例程式 4 成績資料檔資料建立 22 public String InputData() 23 { 24 String Num = "",Name = ""; 25 int Chinese = 0, English = 0, Mathmetic = 0, Computer = 0; try { 28 System.out.println("\n 請輸入學生資料 :"); 29 byte score[] = new byte[10]; // 用來存放成績資料 System.out.print(" 學號 :"); 32 byte buffer[] = new byte[20]; // 用來存放學號資料 33 System.in.read(buffer); // 螢幕輸入 34 Num = (new String(buffer)).trim(); 33

34 範例程式 4 成績資料檔資料建立 36 if (buffer[0] == (byte) '!') // 判斷是否輸入完畢 37 return "!"; 38 else { 39 System.out.print(" 國文 :"); 40 System.in.read(score); 41 Chinese=Integer.parseInt((new String(score)).trim()); System.out.print(" 英文 :"); 44 System.in.read(score); 45 English = Integer.parseInt((new String(score)).trim()); 34

35 範例程式 4 成績資料檔資料建立 63 public ch12_filewrite_1 () 64 { 65 boolean cont = true; // 是否繼續迴圈的布林值 66 while (cont){ 67 try{ 68 String StudentData = InputData();// 呼叫 InputData 函式 69 if (StudentData == "!") 70 cont = false; // 若使用者鍵入 "!" 表示資料輸入完畢 71 else WriteData(StudentData) ; // 將使用者輸入字串寫入檔案 72 } catch (Exception e) {} 73 } 74 } 35

36 範例程式 4 成績資料檔資料建立 79 public static void main(string[] args) 80 { 81 ch12_filewrite_1 fw = new ch12_filewrite_1(); 82 System.out.println(" 建檔完畢 "); 83 } 執行結果 請輸入學生資料 : 學號 : 國文 :80 英文 :50 數學 :40 計概 :16 請輸入學生資料 : 學號 :! 36

37 12.4 資料修改 RandomAccessFile 如何在已完成的成績資料檔中做修正呢 Java 提供 RandomAccessFile 類別來達成 RandomAccessFile 有一個指標, 能夠指出目前讀取到檔案的那個位置, 並且依指示, 在檔案的任意地方做移動我們只需要指出需要修改的地方在那裡, 將該位置以新的資料覆蓋掉, 即可達到修正的目的 37

38 12.4 資料修改 RandomAccessFile RandomAccessFile 類別繼承了 DataOutput 及 DataInput 的函式, 提供一般檔案常用的功能如 read close ready skip 等 RandomAccessFile 宣告如下 Public class RandomAccessFile extends Object implements DataOutput, DataInput 38

39 12.4 資料修改 RandomAccessFile RandomAccessFile 類別的建構元 項次 RandomAccessFile 類別的建構元 RandomAccessFile (File file, String mode) mode 為檔案的存取模式, 有 r 及 rw 二種 1 r : 檔案只予許讀取 rw: 可讀取也可寫入 2 RandomAccessFile (String filename, String mode) 3 RandomAccessFile (String filename, boolean append) 39

40 範例程式 5 RandomAccessFile 14 public ch12_filewrite_2 () 15 { 16 try { 17 byte buffer[] = new byte[20]; // 用來存放學號資料 18 byte score[] = new byte[10]; // 用來存放成績資料 19 RandomAccessFile rf = new RandomAccessFile ("Score.txt", "rw"); // 開啟檔案 20 System.out.println("\n 請輸入學生資料 :"); 21 System.out.print(" 學號 :"); 22 System.in.read(buffer); // 螢幕輸入 23 String inpnum = (new String(buffer)).trim(); // 螢幕輸入的學號 40

41 範例程式 5 RandomAccessFile 25 while(true){ // 讀取每一列的學號資料 26 byte [] num = new byte[7]; // 檔案內每一筆記錄的學號 27 int n = rf.read(num); 28 String strnum = new String(num); // 取學號部分 if (n == -1) break; 31 if (strnum.equals(inpnum)) { 32 // 判斷是否為該生的資料 33 System.out.print(" 國文 :"); 34 System.in.read(score); 35 rf.writebytes(" "+(new String(score)).trim()+" "); 41

42 範例程式 5 RandomAccessFile 45 System.out.print(" 計概 :"); 46 System.in.read(score); 47 rf.writebytes((new String(score)).trim()+"\n"); 48 break; 49 } 50 String strdata = rf.readline(); // 讀取剩下的資料 51 if (strdata == null) break; 52 }// end of while 53 rf.close(); 42

43 範例程式 5 RandomAccessFile 60 public static void main(string[] args) 61 { 62 ch12_filewrite_2 fw = new ch12_filewrite_2(); 63 } 64 } 執行結果 請輸入學生資料 : 學號 : 國文 :90 英文 :50 數學 :30 計概 :20 43

44 12.5 變更及移動檔案 如何將檔案放到適當的目錄, 並且修改成指定的名稱呢使用 File 類別來達成這項任務 File 是檔案或目錄的指示器, 指的可能是目錄也可能是檔案 File 宣告如下 Public class File extends Object implements Serializable, Comparable 44

45 12.5 變更及移動檔案 File 建構元 項次 File 類別的建構元 File (File dir, String filename) 建立一個 dir 加上 filename 的 File 元件 File (String filename) 建立一個 filename 的 File 元件 File (String dir, String filename) 建立一個 dir 加上 filename 的 File 元件 45

46 12.5 變更及移動檔案 File 提供的函式 項次 File 的方法 Boolean canread() 查看 File 元件是否可以讀取, 傳回的值為 true/false Boolean canwrite() 查看 File 元件是否可以寫入或修改, 傳回的值為 true/false Boolean createnewfile () 查看檔案建立是否成功, 判斷欲建立檔案的檔名是否已經存在, 若是則不能建立, 傳回 false; 反之, 可以建立, 傳回 true Boolean delete() 刪除目錄或檔案, 若成功, 則傳回 true; 反之, 傳回 false 若刪除的為目錄, 則需為空目錄才能刪除 boolean exists () 查看 File 元件所指的檔案或目錄是否存在, 是的話則回傳 true ; 反之, 回傳 false 46

47 12.5 變更及移動檔案 File 提供的函式 String getabsolutepath () 傳回 File 元件的絕對路徑 String getcanonicalpath () 傳回 File 元件的正規路徑 String getname () 傳回 File 元件的目錄或檔案名稱 String getparent () 傳回 File 元件的目錄名稱 Boolean isdirectory() 查看 File 元件是否為目錄 47

48 12.5 變更及移動檔案 File 提供的函式 Boolean isfile() 查看 File 元件是否為檔案 String [] list () 若 File 元件指的是一個目錄, 則將目錄下所有的子目錄及檔案名稱放到字串陣列中 Long length() 傳回檔案的長度 blooean mkdir() 建立一個 File 元件所描述的目錄 blooean renameto(file newname) 更改檔案或目錄的名稱 48

49 範例程式 6 檔案更換目錄及重新命名 13 public ch12_file (String Dir, String FileName) 14 { 15 File f = new File ("Score.txt"); // 舊的檔案元件 16 File newdir = new File (Dir); // 新的檔案元件 - 指向新目錄 17 try{ 18 System.out.println(" 舊的檔案 :" + f.getabsolutepath()); 19 if (newdir.mkdirs()) { // 建立新目錄 20 File newfile = new File (Dir,FileName); 21 f.renameto(newfile); // 路徑改為新目錄, 並更改名稱 22 System.out.println(" 新的檔案 :"+ newfile.getabsolutepath()); 23 System.out.println(" 檔案長度 :" + newfile.length()); 24 } 49

50 範例程式 6 檔案更換目錄及重新命名 25 else { 26 System.out.println(newDir.getAbsolutePath()+" 建立失敗!"); 27 } 28 } catch (Exception e) {} 29 } 34 public static void main(string[] args) 35 { 36 String Dir = args[0].tostring(); // 輸入新的目錄 37 String FileName = args[1].tostring(); // 輸入新的檔案名稱 38 ch12_file fw = new ch12_file(dir, FileName); 39 } 40 } 50

51 範例程式 6 檔案更換目錄及重新命名 執行結果 舊的檔案 :D:\Java Book\ch12 檔案及 IO 處理 \ch12\score.txt 新的檔案 :D:\Java Book\ch12 檔案及 IO 處理 \ch12\3a\d3a_score.txt 檔案長度 :174 51

52 12.6 檔案列表 有沒有方法, 能夠讓我們看到目錄下所有的目錄及檔案呢 File 類別 52

53 12.6 檔案列表 在 File 提供的函式中,list() 是用來抓取目錄下所包含的子目錄及檔案名稱 針對指定的目錄進行子目錄及檔案展開 File f = new File ( d:\test ); String [] flist = f.list(); For (int i = 0; i< flist.length; i++) System.out.println(flist[i]); 53

54 12.6 檔案列表 子目錄下面又有子子目錄 File f = new File ( d:\test ); String [] flist = f.list(); For (int i = 0; i< flist.length; i++){ System.out.println(flist[i]); File secondfile = new File (flist[i]); If (secondfile.isdirectory()){ String [] secondflist = secondfile.list(); For (int j = 0; j< secondflist.length; i++) System.out.println(secondflist [j]); } } 54

55 12.6 檔案列表 如果目錄有很多層, 檔案結構很複雜時, 我們可以利用遞迴函式的方式將子目錄 子子目錄等全部列示出來遞迴函式 Public void Circle (int NC) { if (NC == 10) return; NC ++; Circle (NC); } 55

56 12.6 檔案列表 目錄展開函式 printfile 利用 list () 取得目錄下的子目錄名稱及檔案名稱利用 isdirectory() 判定是不是子目錄, 如果是, 則繼續呼叫 printfile 展開目錄, 直到所有檔案及目錄皆處理完畢 56

57 範例程式 7 列示出目錄下所有的目錄及檔案 13 public ch12_file_list (String Dir) 14 { 15 try{ 16 File newdir = new File (Dir); 17 printfile(0,newdir); 18 } catch (Exception e) {} 19 } 57

58 範例程式 7 列示出目錄下所有的目錄及檔案 21 public void printfile (int Level, File Dir)// 參數 Level 為第幾層目錄 22 { 23 try{ 24 if (Dir.isDirectory()) // 判定是否為目錄 25 { 26 for (int j = 0 ; j <Level*3; j ++) 27 System.out.print(" "); 28 System.out.print(Dir.getName()+"\n 29 String [] FileList = Dir.list(); 30 Level++; 31 for (int i = 0 ; i < FileList.length ; i++) 32 printfile(level,new File(FileList[i])); 33 } 58

59 範例程式 7 列示出目錄下所有的目錄及檔案 21 public void printfile (int Level, File Dir)// 參數 Level 為第幾層目錄 22 { 23 try{ 24 if (Dir.isDirectory()) // 判定是否為目錄 25 { 26 for (int j = 0 ; j <Level*3; j ++) 27 System.out.print(" "); 28 System.out.print(Dir.getName()+"\n 29 String [] FileList = Dir.list(); 30 Level++; 31 for (int i = 0 ; i < FileList.length ; i++) 32 printfile(level,new File(FileList[i])); 33 } 59

60 範例程式 7 列示出目錄下所有的目錄及檔案 34 else 35 { 36 for (int j = 0 ; j <Level*3; j ++) 37 System.out.print(" "); 38 System.out.print(Dir.getName()+"\n"); 39 } 40 } catch (Exception e) {} 41 } 45 public static void main(string[] args) 46 { 47 String Dir = args[0].tostring(); // 輸入新的目錄 48 ch12_file_list fw = new ch12_file_list(dir); 49 } 60

61 執行結果. ch12_fileread.java Student.txt ch12_filewrite_2.java ch12_filewrite_1.java 3A middle term final term D3A_Score.txt 2A middle term final term D2A_Score.txt lineno.exe ch12_fileread.class ch12_filewrite_1.class ch12_filewrite_2.class 3B middle term final term D3B_Score.txt Score.txt ch12_file_list.java ch12_file_list.class ch12_file.java ch12_file.class 61

62 12.7 後記 本章以張老師成績資料檔案管理為例, 引導您學習關於資料及檔案相關的類別元件及函式 1. Reader 2. Writer 3. InputStream 4. OutputStrem 5. RandomAccessFile 6. File 不論是資料讀取 建立 修改 寫入 或檔案建立 更名等, 都有詳盡的定義及範例說明, 相信讀者應能舉一反三, 充分將這些好用的工具活用在許多地方 62

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

第1章

第1章 第 15 章 標準類別 1 本章提要 15.1 前言 15.2 基本資料類別介紹 15.3 Integer 類別 15.4 Double 類別 15.5 Float 類別 Long 類別 Short 類別 15.6 數學相關類別 Math 15.7 後記 2 15.1 前言 不同基本資料型別可以互相轉換, 但也只予許由小轉大的情況, 例如 1. byte 轉為 short int long float

More information

while ((ch = fr.read())!= -1) { System.out.print((char) ch); fr.close(); 例 3: 用 BufferedReader 读 TXT 文件 public class FileReaderDemo3 { public static v

while ((ch = fr.read())!= -1) { System.out.print((char) ch); fr.close(); 例 3: 用 BufferedReader 读 TXT 文件 public class FileReaderDemo3 { public static v 第九章 Java I/O 流操作 实验目的 (1) 掌握文本文件的读写方法 (2) 掌握 InputStream OutputStream 的使用方法 (3) 熟悉 FileReader,BufferedReader,InputStreamReader 和 FileWriter, BufferedWriter, PrintWriter 的使用方法 ; 理解使用过滤流实现数据项的读写 :DataOutputStream,

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

Microsoft Word - 投影片ch14

Microsoft Word - 投影片ch14 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第十四章檔案處理 本章學習目標認識串流學習檔案的開啟與關閉學習如何處理文字檔學習如何處理二進位檔 檔案處理 14-2 14.1 關於串流 串流可分為 輸入串流 (input stream) 與 輸出串流 (output stream) 兩種 下圖說明了串流如何做為檔案處理的橋樑 : stream 資料 input stream

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

Swing-02.pdf

Swing-02.pdf 2 J B u t t o n J T e x t F i e l d J L i s t B u t t o n T e x t F i e l d L i s t J F r a m e 21 2 2 Swing C a n v a s C o m p o n e n t J B u t t o n AWT // ToolbarFrame1.java // java.awt.button //

More information

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp 01 1.6 Spyder Anaconda Spyder Python Spyder Python Spyder Spyder 1.6.1 Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Spyder Python File

More information

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2 Chapter 02 變數與運算式 2.1 2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 type 2.2.4 2.3 2.3.1 print 2.3.2 input 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 + 2.4.6 Python Python 2.1 2.1.1 a p p l e b e a r c 65438790

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

OOP with Java 通知 Project 6: 5 月 30 日晚 9 点

OOP with Java 通知 Project 6: 5 月 30 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 6: 5 月 30 日晚 9 点 复习 异常处理 语法 抛出异常 : throw 处理异常 : try, catch 异常对象 : Exception 类的子类 从方法中抛出异常 方法的异常说明 :throws 中断当前方法的执行, 返回抛出的异常对象, 在该方法的调用路径上寻找合适的

More information

Microsoft PowerPoint - ch7_1 DA class

Microsoft PowerPoint - ch7_1 DA class Quiz 1. Describe the similarities and differences of Tester class and GUI class 2. What is the function of GUI class? 3. What is the function of PD(problem domain) class? 4. How does a GUI class interact

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

Microsoft Word - newJavaA4.doc

Microsoft Word - newJavaA4.doc P74 拾壹. 基本輸入與輸出 一. 使用的物件 1.Java 的輸入與輸出會使用到 Java.lang 套件中的 System 類別與 Java.io 套件, 其中 Java.io 套件中以 Reader/Writer 與 InputStream/OutputStream 類別最 重要, 前者以字元 (Character) 為導向, 後者以位元組 (Byte) 為導向 2.System 類別中最主要宣告了三個類別物件,System.in

More information

Microsoft Word - JAVA Programming Language Homework VI_ans.doc

Microsoft Word - JAVA Programming Language Homework VI_ans.doc JAVA Programming Language Homework VI: Threads & I/O ID: Name: 1. When comparing java.io.bufferedwriter to java.io.filewriter, which capability exists as a method in only one of the two? A. Closing the

More information

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式]

Microsoft PowerPoint - EmbSys101_Java Basics.ppt [相容模式] Java Basics Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan chanhl@maili.cgu.edu.twcgu 執行環境 - eclipse 點選 eclipse 軟體執行檔 設定工作路徑 eclipse 開啟 2 建置 Java 專案 File New project

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class 踩地雷遊戲 高慧君南港高中 開啟專案 MineSweep 任務一 : 產生 30X20 個磚塊編輯 Table 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) import java.util.arraylist; Write a description of class MyWorld

More information

目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态... 13 实 验 四 : 异 常 处 理... 18 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23

目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态... 13 实 验 四 : 异 常 处 理... 18 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23 Java 程 序 设 计 实 验 指 导 书 商 丘 学 院 计 算 机 科 学 与 技 术 学 院 张 艳 晓 目 录 实 验 一 : 熟 悉 Java 开 发 环 境... 1 实 验 二 : 类 与 面 向 对 象... 7 实 验 三 : 继 承 和 多 态... 13 实 验 四 : 异 常 处 理... 18 实 验 五 : 流 文 件 及 基 于 文 本 的 应 用... 23 实 验

More information

OOP with Java 通知 Project 6: 6 月 6 日晚 9 点

OOP with Java 通知 Project 6: 6 月 6 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 6: 6 月 6 日晚 9 点 复习 异常处理 语法 抛出异常 : throw 处理异常 : try, catch 异常对象 : Exception 类的子类 从方法中抛出异常 方法的异常说明 :throws 中断当前方法的执行, 返回抛出的异常对象, 在该方法的调用路径上寻找合适的

More information

White Sketchpad PowerPoint Presentation

White Sketchpad PowerPoint Presentation 第五章 檔案存取 電商三乙 4A355001 郭雅如 4A355063 周宛萱 5-1-1 取得檔案名稱 但排除副檔名 5-1-2 取得路徑資訊

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制 Java 程式設計 標準輸出入與流程控制 本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理 標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

OOP with Java 通知 Project 6: 5 月 24 日晚 9 点

OOP with Java 通知 Project 6: 5 月 24 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 6: 5 月 24 日晚 9 点 复习 异常处理 语法 抛出异常 : throw 处理异常 : try, catch 异常对象 : Exception 类的子类 从方法中抛出异常 方法的异常说明 :throws 中断当前方法的执行, 返回抛出的异常对象, 在该方法的调用路径上寻找合适的

More information

2009年9月全国计算机等级考试二级Java真题及答案

2009年9月全国计算机等级考试二级Java真题及答案 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 Java 真 题 及 答 案 [ 录 入 者 :NCRE100 时 间 :2009-10-08 19:41:34 作 者 : 来 源 :NCRE100.com 浏 览 :1421 次 ] 2009 年 9 月 全 国 计 算 机 等 级 考 试 二 级 笔 试 试 卷 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟,

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

D C 93 2

D C 93 2 D9223468 3C 93 2 Java Java -- Java UML Java API UML MVC Eclipse API JavadocUML Omendo PSPPersonal Software Programming [6] 56 8 2587 56% Java 1 epaper(2005 ) Java C C (function) C (reusability) eat(chess1,

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

投影片 1

投影片 1 資料庫管理程式 ( 補充教材 -Part2) 使用 ADO.NET 連結資料庫 ( 自行撰寫程式碼 以實現新增 刪除 修改等功能 ) Private Sub InsertButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InsertButton.Click ' 宣告相關的 Connection

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

java2d-4.PDF

java2d-4.PDF 75 7 6 G r a d i e n t P a i n t B a s i c S t r o k e s e t P a i n t ( ) s e t S t o r k e ( ) import java.awt.*; import java.awt.geom.*; public class PaintingAndStroking extends ApplicationFrame { public

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

Microsoft PowerPoint - SE7ch12.ppt

Microsoft PowerPoint - SE7ch12.ppt 第十二章檔案處理 課前指引除了使用鍵盤輸入資料之外, 另一個常見的資料來源就是 檔案 檔案也可以作為一個中介存放媒體, 例如 : 我們可以將欲排序的資料存放在資料檔內, 經由排序程式的處理, 形成有用的已排序資訊再回存到檔案中, 以便於下次搜尋資料時, 可以使用比較快速的搜尋演算法來搜尋資料 章節大綱 12.1 Java 的檔案處理 12.2 字元串流的檔案處理 12.3 位元串流的檔案處理 12.4

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

Microsoft PowerPoint - 14Threads.ppt

Microsoft PowerPoint - 14Threads.ppt Threads Outline Introduction to Threads How to create Thread extend Thread implement Runnable interface Synchronization What is thread? 定義 : 程式的執行軌跡 Single Thread Multi-Thread 依序執行 int x, y; int z; x =

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

x MapReduce A Italic URL Constant width Constant width bold Constant width italic 這個圖示代表提示或建議 這個圖示代表一般註解

x MapReduce A Italic URL Constant width Constant width bold Constant width italic 這個圖示代表提示或建議 這個圖示代表一般註解 Java R Python Java Java Java x MapReduce A Italic URL Constant width Constant width bold Constant width italic 這個圖示代表提示或建議 這個圖示代表一般註解 第一章 I/O double[][] int[] String[] List 2 Map JavaScript Object Notation

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

The Embedded computing platform

The Embedded computing platform 嵌入式系統及實驗 Embedded System and Experiment 詹曉龍 長庚大學電機系 Java 的類別與物件 : 宣告類別 建構子 public class Customer { private String name; private String address; // Customer 類別宣告 // 成員資料 public int age; // 建構子 : 使用參數設定成員資料初始值

More information

Microsoft Word - JAVA Programming Language Homework I ans

Microsoft Word - JAVA Programming Language Homework I ans JAVA Programming Language Homework I - OO concept Student ID: Name: 1. Which of the following techniques can be used to prevent the instantiation of a class by any code outside of the class? A. Declare

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

PowerPoint Presentation

PowerPoint Presentation Visual Basic 程式設計 檔案存取 檔案控制項元件 File System Objects DriveList 屬性 Drive List ListCount ListIndex 目前磁碟機代碼可選擇磁碟機可選擇磁碟機個數已選擇的磁碟機的位置 事件 Change 所選擇的磁碟機改變時 2 DriveListBox (cont.) Private Sub Drive1_Change() Print

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

<4D6963726F736F667420576F7264202D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF> 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 考 试 2009 年 上 半 年 软 件 设 计 师 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

More information

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Java 程式設計初階 第 5 章:基本輸出入 & 流程控制 Standard I/O & Flow Control Outline 2 Standard I/O Branch if ~ else switch ~ case Loop For while do ~ while Interrupt Break continue Conclusion Standard I/O 3 Definition: 將資料印到螢幕上 Java 標準輸出指令 System.out.println(

More information

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h

星星排列 _for loop Protected Sub Page_Load(ByVal sender As Object, ByVal e As Dim h As Integer = 7 'h 為變數 ' Dim i, j As Integer For i = 1 To h 資訊系統與實習 製作 : 林郁君 一 2009.09.28 9X9 'button 被按下後 ' Dim i, j As Integer For i = 1 To 9 'i 從 1 到 9' For j = 1 To 9 'j 從 1 到 9' If j * i < 10 Then ' 如果 j 乘上 i 是為個位數 ' Response.Write(i & "*" & j & " =" & i *

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

第1章

第1章 第 8 章 函式 1 本章提要 8.1 前言 8.2 如何定義函式 8.3 函式的呼叫和返回 8.4 傳遞陣列 8.5 方法多載 8.6 遞迴 8.7 綜合練習 8.8 後記 2 8.1 前言 每一種高階程式語言都有提供函式 (Function)( 或稱函數 ) 的功能, 以便將經常使用到的程式功能包裝成函式的形式, 如此一來便能反覆地呼叫該函式來完成某件特定工作在高階程式語言中, 副程式 (Subroutine)

More information

epub 33-8

epub 33-8 8 1) 2) 3) A S C I I 4 C I / O I / 8.1 8.1.1 1. ANSI C F I L E s t d i o. h typedef struct i n t _ f d ; i n t _ c l e f t ; i n t _ m o d e ; c h a r *_ n e x t ; char *_buff; /* /* /* /* /* 1 5 4 C FILE

More information

ebook39-6

ebook39-6 6 first-in-first-out, FIFO L i n e a r L i s t 3-1 C h a i n 3-8 5. 5. 3 F I F O L I F O 5. 5. 6 5. 5. 6.1 [ ] q u e n e ( r e a r ) ( f r o n t 6-1a A 6-1b 6-1b D C D 6-1c a) b) c) 6-1 F I F O L I F ADT

More information

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e Android Studio Debugging 本篇教學除了最基本的中斷點教學之外, 還有條件式中斷的教學 條件式中斷是進階的除錯技巧, 在某些特定情況中, 我們有一個函數可能會被呼叫數次, 但是我們只希望在某種條件成立時才進行中斷, 進而觀察變數的狀態 而條件式中斷這項技巧正是符合這項需求 本教學分兩部分 單步除錯 (Page2~11, 共 10) 條件式中斷點 (Page12~17, 共 6)

More information

《面向对象程序设计A》课程教学大纲Ⅱ4

《面向对象程序设计A》课程教学大纲Ⅱ4 Java 程 序 设 计 课 程 教 学 大 纲 Ⅱ5 课 程 代 码 : 课 程 名 称 :Java 程 序 设 计 Java Programming 学 分 :5 总 学 时 :80 ( 其 中 : 理 论 学 时 :48 实 验 ( 上 机 ) 学 时 :32) 先 修 课 程 : 2106010190 大 学 计 算 机 信 息 技 术 基 础 适 用 对 象 : 本 二 工 科 非 计 算

More information

PowerPoint 簡報

PowerPoint 簡報 本周未安排實作輔導 預定 : 下周六 迴圈 LOOP 應用 判斷質數 (Prime number) 求兩個整數的最大公因數 (greatest common divisor, GCD) 判斷迴文 (palindrome) 搶答!! Q1 : 印出結果? int s,x; s=0; for(x=1;x

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Microsoft PowerPoint - 20-string-s.pptx

Microsoft PowerPoint - 20-string-s.pptx String 1 String/ 1.: char s1[10]; char *s2; char s3[] = "Chan Tai Man"; char s4[20] = "Chan Siu Ming"; char s5[]={'h','e','l','l','o','\0'; 0 1 2 3 4 5 6 7 8 9 10 11 12 s3 C h a n T a i \0 M a n \0 printf

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

[Short Essay:] 1. (5 points) Use state-of-memory diagram to describe the differences between x and y declared as follows: double[] x = new double[4];

[Short Essay:] 1. (5 points) Use state-of-memory diagram to describe the differences between x and y declared as follows: double[] x = new double[4]; Introduction to Programming (II) Spring 2008, Final Exam Name: ID Number: [True/False:] (5 points each) If your answer is "false", you have to provide correct reasons. Otherwise, no points will be given.

More information

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS

C H A P T E R 7 Windows Vista Windows Vista Windows Vista FAT16 FAT32 NTFS NTFS New Technology File System NTFS C H P T E R 7 Windows Vista Windows Vista Windows VistaFT16 FT32NTFS NTFSNew Technology File System NTFS 247 6 7-1 Windows VistaTransactional NTFS TxFTxF Windows Vista MicrosoftTxF CIDatomicity - Consistency

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

第3章.doc

第3章.doc 3 3 3 3.1 3 IT Trend C++ Java SAP Advantech ERPCRM C++ C++ Synopsys C++ NEC C C++PHP C++Java C++Java VIA C++ 3COM C++ SPSS C++ Sybase C++LinuxUNIX Motorola C++ IBM C++Java Oracle Java HP C++ C++ Yahoo

More information

Microsoft PowerPoint - C-Ch12.ppt

Microsoft PowerPoint - C-Ch12.ppt 檔案的輸入 輸出 12-1 輸入 輸出的基礎 理解資料流 (stream) 的概念 在 C 語言中支援各種輸出入功能的概念, 就稱為資料流 執行附加格式的輸入 輸出 printf() 和 scanf() 是用來輸出 輸入的函數 必須先引入 stdio.h 檔案才能使用這些函數 這兩個函數會以固定的格式進行輸出入, 也可以使用各種不同的轉換規格 使用固定格式的輸出 輸入函數之範例 : int main(void)

More information

Microsoft Word - 投影片ch03

Microsoft Word - 投影片ch03 Java2 JDK5.0 教學手冊第三版洪維恩編著博碩文化出版書號 pg20210 第三章變數與資料型態 本章學習目標認識變數與常數認識 Java 的基本資料型態學習如何進行資料型態轉換學習如何由鍵盤輸入資料 變數與資料型態 3-2 Java 的資料型態分為 : 與 原始資料型態 (primitive type) 非原始資料型態 (non-primitive type) 原始資料型態包括了整數與浮點數等型態

More information

Microsoft PowerPoint - VB14.ppt

Microsoft PowerPoint - VB14.ppt VB 列表盒 LISTBOX 應用 資科系 林偉川 執行畫面 1 2 1 重要屬性 LISTBOX 物件 (VB6) 新增至 LISTBOX 物件中 ADDITEM 自 LISTBOX 物件中刪除選取物件 REMOVEITEM 自 LISTBOX 物件中取出選取物件 ListIndex 顯示 LISTBOX 物件中紀錄個數 Listcount 3 LISTBOX 物件 (VB.NET) 重要屬性 新增至

More information

第1章

第1章 第 7 章 字串 1 本章提要 7.1 前言 7.2 類別與物件 7.3 String 類別 7.4 StringBuffer 類別 7.5 綜合練習 7.6 後記 2 7.1 前言 Java 用 String 類別 (Class) 來處理字串, String 類別是 Java 類別庫內建的類別, 它是一堆已經寫好的程式, 我們可以直接拿來使用字串很像字元型別的一維陣列, 字串裡能存放的資料都屬於字元性質,

More information

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 專題進度 老師 : 趙啟時老師 學生 : 陳建廷 2013/10/13 用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應 程式碼 : package com.example.phone; import java.util.arraylist;

More information

JBuilder Weblogic

JBuilder Weblogic JUnit ( bliu76@yeah.net) < >6 JUnit Java Erich Gamma Kent Beck JUnit JUnit 1 JUnit 1.1 JUnit JUnit java XUnit JUnit 1.2 JUnit JUnit Erich Gamma Kent Beck Erich Gamma Kent Beck XP Extreme Programming CRC

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

4. 如下的程式碼中, 宣告了類別 A3 和 B3 由於在兩個類別中都定義了 print() 的方法, 所以依據定義, 總共有兩次的 overloading 以及一次的 overriding public class A3 { public class B3 extends A3 { protect

4. 如下的程式碼中, 宣告了類別 A3 和 B3 由於在兩個類別中都定義了 print() 的方法, 所以依據定義, 總共有兩次的 overloading 以及一次的 overriding public class A3 { public class B3 extends A3 { protect 姓名 : 物件導向程式設計 (II) Spring 2010, 期中考 學號 : 是非題 : ( 每題 5 分 ) 注意 : 若答案為 非, 你必須提供正確的解釋才有分數 ; 否則, 以零分計 若有程式錯誤, 請回答 非 並指出錯誤 1. 如下的程式碼中, 宣告了類別 A1 和 B1 若在其他類別( 如控制類別 ) 執行 B1 b1 = new B1(5);, 則 a1 的值會改成 5 public

More information

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2

BOOL EnumWindows(WNDENUMPROC lparam); lpenumfunc, LPARAM (Native Interface) PowerBuilder PowerBuilder PBNI 2 PowerBuilder 9 PowerBuilder Native Interface(PBNI) PowerBuilder 9 PowerBuilder C++ Java PowerBuilder 9 PBNI PowerBuilder Java C++ PowerBuilder NVO / PowerBuilder C/C++ PowerBuilder 9.0 PowerBuilder Native

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

untitled

untitled 1 7 7.1 7.2 7.3 7.4 7.5 2 7.1 VFT virtual 7.1 3 1 1. 2. public protected public 3. VFT 4. this const volatile 4 2 5. ( ) ( ) 7.1 6. no-static virtual 7.2 7. inline 7.3 5 3 8. this this 9. ( ) ( ) delete

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

Microsoft Word - 200612-582.doc

Microsoft Word - 200612-582.doc Drools 规 则 引 擎 在 实 现 业 务 逻 辑 中 的 应 用 刘 际 赵 广 利 大 连 海 事 大 学, 大 连 (116026) E-mail:henterji@gmail.com 摘 要 : 现 今, 企 业 级 java 应 用 中 的 业 务 逻 辑 越 来 越 复 杂, 而 这 些 复 杂 的 业 务 逻 辑 又 广 泛 的 分 布 在 应 用 程 序 中 无 论 是 软 件

More information

96年特種考試第一次司法人員考試試題解答

96年特種考試第一次司法人員考試試題解答 106 年公務人員特種考試警察人員 一般警察人員考試及 106 年特種考試交通事業鐵路人員考試試題 考試別 : 鐵路人員考試 等別 : 員級考試 類科 ( 別 ): 資訊處理 科目 : 程式設計概要 考試時間 :1.5 小時 一 就下列 Java 程式片斷中加入一個 for 迴圈, 使其印出右側結果 (15 分 ) public class AllNumbers number square cube

More information

Microsoft Word - Mail2000_SecurityPatch_

Microsoft Word - Mail2000_SecurityPatch_ Mail2000 安全性加強程式 網擎資訊軟體股份有限公司謹呈 1 Mail2000 安全性加強程式 Introduction Mail2000 安全性加強程式, 是針對 Mail2000 V4.0 以上版本, 包括 V4.0 及 V4.5 版本所提供, 以加強系統的安全性, 減少因惡意信件而引起的安全性問題 版本名稱 Mail2000 版本作業系統檔案名稱 V4.0 單一網域版本 V4.0 SDSS

More information