




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、班級(jí) 計(jì)科1201 姓名: 學(xué)號(hào) 201216010506 成績(jī) 實(shí)驗(yàn)4 Java的輸入機(jī)制I 實(shí)驗(yàn)?zāi)康?1) . Java如何操作文件(2) .了解Java中的輸入機(jī)制;如何從控制臺(tái)輸入,如何用InputStream和Reader顯示文件中的內(nèi)容。II 實(shí)驗(yàn)內(nèi)容(1) . 遞歸遍歷目錄,顯示其中的文件名。a. 源代碼b. package com.fileTest;c.d. import java.io.File;e.f. public class BianLi / 遍歷目錄,顯示文件的名字g.h. /*i. * param argsj. */k. public static void mai
2、n(String args) l.m. File f = new File("D:/360安全瀏覽器下載"); /創(chuàng)建一個(gè)File對(duì)象 n. listChids(f); /調(diào)用 一個(gè)列出目錄的方法o.p. q.r. s.t. public static void listChids(File f)u.v. System.out.println(f.getName(); w.x. if(!f.isDirectory() /如果 不是目錄,退出 y.z. return ;aa. elsebb.cc. File fs = f.listFiles();dd. for(int i=0
3、;i<fs.length;i+) ee.ff. listChids(fsi);gg. hh. ii. jj. kk. ll. 運(yùn)行截圖(2) . 用InputStream的子類讀入一個(gè)英文文本文件,并用System.out顯示其中的內(nèi)容。a. 源代碼b. package com.fileTest;c.d. import java.io.*;e.f. public class Fileinput g.h. /*i. * param argsj. */k. public static void main(String args)throws IOException l. m. / TODO
4、Auto-generated method stubn. o. String file = "src/abc.java" / 英文本文件p. Fileinput d = new Fileinput(); /實(shí)列化對(duì)象q. d.readFile(file); / 調(diào)用readFile 方法r. s. t.u. public void readFile(String fileName) throws IOExceptionv. InputStream in = new FileInputStream(fileName); / 創(chuàng)建字節(jié)流對(duì)象w. x. / TODO Auto-g
5、enerated method stuby. try z. int b = 0 ;aa. while(true)bb. cc. b = in.read();/得到內(nèi)容判斷是否結(jié)束dd. if(b=-1)ee. break;ff. System.out.print(char)b);/ 得到內(nèi)容進(jìn)行處理,轉(zhuǎn)換成字符型輸出gg. hh. ii. finallyjj. if(in!=null)kk. in.close(); /關(guān)閉流ll. mm. nn. oo.pp. qq. 運(yùn)行截圖rr.(3) . 用Reader的子類讀入一個(gè)字符文件,并用System.out顯示其中的內(nèi)容。1源代碼package
6、 com.fileTest;import java.io.*;public class FileReaderBy /* * param args * throws IOException * */public static void main(String args) throws IOException / TODO Auto-generated method stubFileReaderBy a = new FileReaderBy(); /創(chuàng)建一個(gè)對(duì)象a.readFile("src/fly.txt"); /調(diào)用方法讀入字符文件public void readFile(
7、String filename) throws IOException / TODO Auto-generated method stubBufferedReader b = null;try b =new BufferedReader(new FileReader(filename),8*1024);String line = null;/得到內(nèi)容并判斷是否到流的末尾 while(line = b.readLine()!=null) /得到的內(nèi)容進(jìn)行處理 System.out.println(line);/ 輸出結(jié)果 finallyif(b!=null)b.close(); /關(guān)閉流運(yùn)行截圖
8、(4) . 從控制臺(tái)輸入Student類的信息,包括學(xué)號(hào)、姓名、年齡,如輸入錯(cuò)誤,提示用戶重新輸入。創(chuàng)建該類,并在toString方法中輸入個(gè)人信息。1源package FileInput;import com.java.ErrorException;public class Students / 學(xué)號(hào)private long num ; /姓名private String name ;/年齡private int age;public Students()public void setId(long num)this.num = num;public void setName(String
9、name) = name ;public void setAge(int age)throws ErrorException if(age<0|age>120) throw new ErrorException();this.age= age; Override public String toString()return num+" "+name+" "+age; /返回個(gè)人信息代碼public class ByScanner /* * param args */public static void main(String
10、 args) / TODO Auto-generated method stub Students s = new Students(); Scanner sc = new Scanner (System.in); int id =0; String name=null; ; int age =0 ; String len = null; while(true) try System.out. println("請(qǐng)輸入學(xué)號(hào)");len= sc.nextLine(); id = Integer.parseInt(len); s.setId(id); break; catch(
11、Exception e) sc.nextLine(); System.out.println(" Input error,please innput again!"); while(true) try System.out. println("請(qǐng)輸入姓名"); name = sc.next(); s.setName(name); break; catch(Exception e) sc.nextLine(); System.out.println(" Input error,please innput again"); while(t
12、rue) try System.out. println("請(qǐng)輸入年齡"); age = sc.nextInt(); s.setAge(age); break; catch(Exception e) sc.nextLine(); System.out.println(" Input error,please innput again"); System.out.println("該學(xué)生的信息為:"+ s.toString();運(yùn)行截圖(5) . 增加(1)中的功能,顯示文件的大小,目錄的話顯示其中包括的所有文件的大小。注意顯示文件大小
13、的單位(KB或MB)。a. 源代碼b. package filebianli;c.d.e. importlFormat;f. import java.io.*;g. public class Bianlih. i. public long getFileSizes(File f) throws Exception/取得文件大小j. long s=0;k. if (f.exists() l. FileInputStream fis= new FileInputStream(f);m. s= fis.available();n. else o. f.createNewFile();p. Syste
14、m.out.println("文件不存在");q. r. return s;s. t. / 遞歸u. public long getFileSize(File f)throws Exception/取得文件夾大小v. w. long size = 0;x. File flist = f.listFiles();y. for (int i = 0; i < flist.length; i+)z. aa. if (flisti.isDirectory()bb. cc. size = size + getFileSize(flisti);dd. elseee. ff. si
15、ze = size + flisti.length();gg. hh. ii. return size;jj. kk. public String FormetFileSize(long fileS) /轉(zhuǎn)換文件大小ll. DecimalFormat df = new DecimalFormat("#.00");mm. String fileSizeString = ""nn. if (fileS < 1024) oo. fileSizeString = df.format(double) fileS) + "B"pp. els
16、e if (fileS < 1048576) qq. fileSizeString = df.format(double) fileS / 1024) + "K"rr. else if (fileS < 1073741824) ss. fileSizeString = df.format(double) fileS / 1048576) + "M"tt. else uu. fileSizeString = df.format(double) fileS / 1073741824) + "G"vv. ww. return f
17、ileSizeString;xx. yy. zz. public long getlist(File f)/歸求取目錄文件個(gè)數(shù)aaa.bbb. System.out.println(f.getName(); ccc. long size = 0;ddd. File flist = f.listFiles();eee. size=flist.length;fff. for (int i = 0; i < flist.length; i+) ggg. if (flisti.isDirectory() hhh. size = size + getlist(flisti);iii. size-;
18、jjj. kkk. lll. return size;mmm. nnn. ooo. ppp. public static void main(String args)qqq. rrr. Bianli g = new Bianli();sss. ttt. tryuuu. vvv. long l = 0;www. xxx. File f = new File( "D:/360安全瀏覽器下載");yyy. if (f.isDirectory() /如果路徑是文件夾的時(shí)候zzz. System.out.println("文件個(gè)數(shù) " + g.getlist(f)
19、;aaaa. System.out.println("目錄");bbbb. l = g.getFileSize(f);cccc. System.out.println( "目錄的大小為:" + g.FormetFileSize(l);dddd. else eeee. System.out.println(" 文件個(gè)數(shù) 1");ffff. System.out.println("文件");gggg. l = g.getFileSizes(f);hhhh. System.out.println( "文件的大小
20、為:" + g.FormetFileSize(l);iiii. jjjj. kkkk. catch (Exception e)llll. mmmm. e.printStackTrace();nnnn. oooo. pppp. qqqq.rrrr. 運(yùn)行截圖ssss.tttt.III 在本次實(shí)驗(yàn)中的問(wèn)題和解決方法那個(gè)第四題 當(dāng)輸入學(xué)號(hào)如果是0開(kāi)頭 ,那輸出結(jié)果就會(huì)被舍棄因?yàn)椴皇且粋€(gè)數(shù),如果非要輸入0開(kāi)頭的學(xué)號(hào),還沒(méi)找到解決的辦法,解決了那個(gè)輸學(xué)號(hào)空格問(wèn)題 ,解決年齡超過(guò)一定數(shù)和負(fù)數(shù)問(wèn)題,文件顯示大小出現(xiàn)的問(wèn)題,看了下博客園的寫(xiě)的。IV心得體會(huì)Java 博大進(jìn)深,不懂的很多的,繼續(xù)努力學(xué)習(xí)吧 #include <malloc.h>#include <time.h>#include <sys/time.h>#include <stdio.h>double wtime(void );int main(int ar
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 印刷行業(yè)節(jié)能減排政策效果評(píng)估模型研究考核試卷
- 促銷季節(jié)性家電采購(gòu)策略考核試卷
- 水循環(huán)利用技術(shù)在儀表制造中的應(yīng)用考核試卷
- 差異化營(yíng)銷傳播策略考核試卷
- 集成供應(yīng)鏈管理視角下的專用設(shè)備資源優(yōu)化配置模式研究考核試卷
- 臺(tái)灣省2025年上半年安全工程師安全生產(chǎn)法:石材生產(chǎn)、施工的安全細(xì)則考試題
- 兒科的專科培訓(xùn)
- 谷物添加乳品企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書(shū)
- 國(guó)際文化日活動(dòng)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書(shū)
- 體育中介代理在線平臺(tái)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書(shū)
- 信任五環(huán)(用友營(yíng)銷技巧)課件
- 骨科出科試題帶答案
- 2022年廣東省深圳市中考化學(xué)真題試卷
- 危險(xiǎn)貨物道路運(yùn)輸安全生產(chǎn)管理制度
- GB∕T 8110-2020 熔化極氣體保護(hù)電弧焊用非合金鋼及細(xì)晶粒鋼實(shí)心焊絲
- 【完美排版】山東科技出版社二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)教案
- 公共政策學(xué)(第三版)-課件
- 齊魯醫(yī)學(xué)Lisfranc-損傷
- GB∕T 4162-2022 鍛軋鋼棒超聲檢測(cè)方法
- 基于motor的六相電機(jī)繞組分相設(shè)置
- 廣西壯族自治區(qū)醫(yī)院大全
評(píng)論
0/150
提交評(píng)論