一名java培訓(xùn)生的學(xué)習(xí)筆記_第1頁
一名java培訓(xùn)生的學(xué)習(xí)筆記_第2頁
一名java培訓(xùn)生的學(xué)習(xí)筆記_第3頁
一名java培訓(xùn)生的學(xué)習(xí)筆記_第4頁
一名java培訓(xùn)生的學(xué)習(xí)筆記_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

一名java培訓(xùn)生的學(xué)習(xí)筆記

授課教師:

學(xué)生:

第一節(jié)HashMap類常見的方法及其用法

構(gòu)造方法摘要

Hashlap()

構(gòu)造一個(gè)具有默認(rèn)初始容量(16)和默認(rèn)加載因子(0.75)的空HashMap。

方法摘要

voidclear()

從此映射中移除所有映射關(guān)系。

Objectclone()

返回此HashMap實(shí)例的淺表復(fù)制:并不克隆健和值本身。

b&oleancontainsKey(Ob」ectkey)

如果此映射包含對(duì)于指定的鍵的映射關(guān)系,則返回true。

booleancontainsValue(Objectvalue)

如果此映射將一個(gè)或多個(gè)鍵映射到指定值,則返回true。

Vget(Objectkey)

返回指定鍵在此標(biāo)識(shí)哈希映射中所映射的值,如果對(duì)于此鍵來說,

映射不包含任何映射關(guān)系,則返回null。

booleanisE>pty()

如果此映射不包含鍵強(qiáng)映射關(guān)系,則返回true。

Vput(Kkey,Vvalue)

■在此映射中關(guān)聯(lián)指定值與指定鍵。

voidputAll(Map<?extendsK,?extendsV>m)

將指定映射的所有映射關(guān)系復(fù)制到此映射中,這些映射關(guān)系將替換

此映射目前針對(duì)指定映射的所有鍵的所有映射關(guān)系。

VreBove(Objectkey)

如果此映射中存在該鍵的映射關(guān)系,則將其刪除。

inisize()

返回此映射中的鍵強(qiáng)映射關(guān)系數(shù)。

publicclassTest{

publicstaticvoidmain(String[]args){

//創(chuàng)建5個(gè)Bean的對(duì)象bl-b5并對(duì)它們進(jìn)行初始化

Beanbl=newBean();

bl.setAge(23);

bl.setName("Bobn);

Beanb2=newBean();

b2.setAge(23);

b2.setName("BobH);

Beanb3=newBean();

Beanb4=newBean();

b4.setAge(30);

b4.setName("Jackn);

Beanb5=newBean();

b5.setAge(29);

b5.setName("wang");

HashMaph=newHashMapO;

〃倉犍HashM叩類型對(duì)象h;

〃并調(diào)用put方法,將它們?nèi)€(gè)key名(外號(hào)),加入到Map中

h.put(nlu,bl);

h.put(,'2,',b2);

h.put("3\b3);

h.put(n4';b4);

h.put(“5”,b5);

h.remove("3,*);

//調(diào)用remove。方法,將key值為"3"的元素移除HashMap

System.out.println(h.sizeO);

〃輸出Map中的元素?cái)?shù)

Beantemp=(Bean)h.get(u5");

〃將key值為“5"的元素取出來,并恢復(fù)其Bean身份,并其引用返回給temp

System.out.println(temp.getAgeO);

System.out.println(temp.getName());

〃輸出key值為"5"的屬性值

第二節(jié)equals方法與hashCode方法的重寫

在處理兩個(gè)對(duì)象之間關(guān)系時(shí),有的時(shí)候會(huì)需要推斷兩個(gè)對(duì)象是否相等,假如他們的引用

指向的是同一個(gè)對(duì)象,那么它們是相等的。如Object中的equals方法。假如它們指向的是

同一類型的不一致對(duì)象,但是他們的屬性值是相等的,也就是說它們的內(nèi)容是相等的,那么

我們就需要重寫equals方法,比如:String中的equals方法就是Object中的equals方法的重

寫.假如我們自己定義一個(gè)類,需要將自己寫的類型的兩個(gè)對(duì)象equals。那么我們就需要在

該類中重寫Object中的equals方法。

重寫完equals方法后還需要重寫hashCode方法。由于當(dāng)我們用Hash容器(如HashMap、

HashSet)裝載這些對(duì)象時(shí),比如,將一個(gè)對(duì)象用add方法加入Set時(shí),會(huì)產(chǎn)生一個(gè)HashCode,

當(dāng)我們又創(chuàng)建一個(gè)同類型內(nèi)容相同的對(duì)象時(shí),又變成另外一個(gè)HashCode了,它們?cè)谌萜髦?/p>

的HashCode是隨機(jī)的生成的,那么你就無法取得該對(duì)象了。假如我們要推斷容器中是否裝

進(jìn)了某種類型的對(duì)象,那么就需要重寫hashCode方法,由于equals方法返回true的對(duì)象,

它們的hashCode是相同的,重寫hashCode方法就是讓計(jì)算機(jī)在同一HashCode中尋找,否

則計(jì)算機(jī)出于Hash容器的高效性考慮,不可能去在已經(jīng)存放該對(duì)象的hashCode中尋找,當(dāng)

然也就找不到了。

重寫equals方法與hashCode

publicclassMoney{

//創(chuàng)建名叫Money這個(gè)類

publicintvalue=0;

〃定義int型數(shù)據(jù)成員value,并初始化為0。

publicMoney(){

〃創(chuàng)建無參數(shù)的構(gòu)造方法

publicMoney(inti){

〃帶有參數(shù)的構(gòu)造方法

value=i;

publicbooleanequals(Objectobj){

〃重寫時(shí)需要注意重寫的方法定義的要求

if(obj==null){

〃推斷形參的是否為空。假如是,返回false

returnfalse;

)

if(this==obj){

//推斷形參對(duì)象與調(diào)用該方法的當(dāng)前對(duì)象是否指向同一對(duì)象,假如是返回true.

returntrue;

)

if(!(objinstanceofMoney)){

//推斷形參對(duì)象是否是Money的實(shí)例,假如不是,返回false.

returnfalse;

Moneymo=(Money)obj;

〃將形參引用恢復(fù)成該對(duì)象的身份。

if(mo.value!=this.value){

〃假如他們的內(nèi)容不相等,返回false

returnfalse;

)

returnture;

假如都不是上面的情況返回true

)

publicinthashcode(){

//重寫hashcode方法,使它們的hashcode保持一致

returnvalue;

我們?cè)趀clipse中測(cè)試一下:

'資源一Test,java—Eclipse平臺(tái)

文件9編輯?源代碼⑤)重構(gòu)⑴瀏覽⑤搜索@項(xiàng)目9運(yùn)行?窗口⑥幫助國)

]KJ£1?,,(S,;吟隹資源

至導(dǎo)航器區(qū)

Test,java[JMoney,javaO

java.util.HashSet.

_」I目陶▼iaportjava.util.Set;

田端0615

+/0617classTest{

Ewh£0616

publicstaticvoidmain(String[]args){

@classes

S6srcMoneyma=newMoney(100);

jJ,|Money,javaMoneymb=nevMoney(100):

JTest,javaSetset=newHashSet():

set.add(ma);

__.classpathbooleanflag=set.contains(mb):

BprojectSystem,out.printIn(flag):

生大綱點(diǎn)

________土.X▼

+L導(dǎo)入聲明

S?>Test

?Smain(String口)

任務(wù)m控制臺(tái)__________________■女|反■砧|百日-一曰'

〈已終止〉Test(9)[Java應(yīng)用程序]C:\j2sdkl.4.2_14\bin\javaw.exe(2007-6-1914:52:

true

可寫智能插入

假如我們不重寫hashCode方法。那么輸出的將會(huì)是flase

假如我們將每個(gè)對(duì)象都存放在同一hashCode中,那樣查找的效率就會(huì)很低,但是我們還能

夠利用String中的hashCode的算法,去重新寫hashCode方法。

publicinthashCode()

(

Stringstr=String.valueOf(value);

〃將整型的value轉(zhuǎn)化為String型的str

returnstr.hashCode();

〃用String中的hashCode的算法,返回hashCode

)

第十四章2007年6月18日星期一

授課教師:

學(xué)生:

第一節(jié)如何創(chuàng)建一個(gè)文件對(duì)象

有三種方式:

1Filemyfile=newFileCtd:/java/a.txf,);

2^Filemyfilel=newFileC'd/ava”,a.txt");

3^Filemyfile2=newFile("myfilel",b.txf,);

File類中常見的方法

構(gòu)造方法摘要

File(Fileparent,Stringchild)

根據(jù)parent抽象路徑名和child路徑名字符串創(chuàng)建一個(gè)新File實(shí)例。

File(Stringpathname)

通過將給定路徑名字符串轉(zhuǎn)換成抽象路徑名來創(chuàng)建二個(gè)新File實(shí)例。

File(Stringparent,Stringchild)

根據(jù)park曲徑名字符串和Child路徑名字符串創(chuàng)建一個(gè)新File實(shí)例。

方法摘要

canReadO

測(cè)試應(yīng)用程序是否可以讀取此抽象路徑名表示的文件。

卜。1。皿canTriteO

測(cè)試應(yīng)用程序是否可以修改此抽象路徑名表示的文件。

booleancreateNevFile()

當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定的名稱的文件時(shí),原子地創(chuàng)建由此

抽象路徑名指定的一個(gè)新的空文件。

b&oleaaexists()

測(cè)試此抽象路徑名表示的文件或目錄是否存在。

FilegetAbsoluteFile()

返回抽象路徑名的絕對(duì)路徑名形式。

StringgetAbsolutePa~th()

返回抽象路徑名的絕對(duì)路徑名字符串。

——

booleanisAbsolute()

測(cè)試此抽象路徑名是否為絕對(duì)路徑名。

b&oleuisDirectory()

測(cè)試此抽象路徑名表示的文件是否是一個(gè)目錄。

booleanisFile()

測(cè)試此抽象路徑名表示的文件是否是一個(gè)標(biāo)準(zhǔn)文件。

booleanisHiddenQ

測(cè)試此抽象路徑名指定的文件是否是一個(gè)隙藏文件。

Ion:last?odified。

返回此抽象路徑名表示的文件最后一次被修改的時(shí)間。

loaplength()

返回由此抽象路徑名表示的文件的長(zhǎng)度。

booleanakdir()

創(chuàng)建此抽象路徑名指定的目錄。

b&oleanBkdirs()

創(chuàng)建此抽象路徑名指定的目錄,包括創(chuàng)建必需但不存在的父目錄。

\?oleurenaaeTo(Filedest)

重新命名此抽象路徑名表示的文件。

Striin°rctoStrriing()

返回此抽象路徑名的路徑名字符串。

舉例說明:

importjava.io.File;

importjava.io.IOException;

//導(dǎo)入java.io包中的File與lOException兩個(gè)類

publicclassFileName{

publicstaticvoidmain(String[]args){

Filefl=newFile("d:/javallln);

〃創(chuàng)建一個(gè)文件對(duì)象fl

fl.mkdirO;

〃創(chuàng)建該文件對(duì)象的目錄

Filef=newFile(nd:/whjhg.txtu);

〃創(chuàng)建一個(gè)文件對(duì)象f

〃創(chuàng)建一個(gè)文件對(duì)象ff,利用File中的構(gòu)造方法,將其目錄設(shè)置為fl所指向的路徑

try(

〃處理創(chuàng)建文件時(shí)可能出現(xiàn)的特殊

〃假如兩個(gè)文件不存在則創(chuàng)建這2個(gè)文件

ff.createNewFile();

f.createNewFile();

)catch(lOExceptione){

〃捕獲特殊

e.printStackTrace();

System.out.println(ff.canRead());

〃行所指向的這個(gè)文件是否可讀?

System.out.println(ff.canWrite());

//ff所指向的這個(gè)文件是否可寫入?

System.out.println(ff.exists());

//ff所指向的這個(gè)文件是否存在?

System.out.println(ff.getPath());

〃輸出ff對(duì)象的路徑名

System.out.println(ff.isHidden());

//ff所指向的文件是否為隱藏文件?

System.out.println(ff.isFileO);

//ff這個(gè)對(duì)象是一個(gè)文件嗎?

System.out.println(f1.mkdir());

//fl這個(gè)對(duì)象路徑創(chuàng)建成功了嗎?

System.out.println(ff.isDirectoryO);

//ff這個(gè)對(duì)象是目錄嗎?

System.out.println(ff.lastModified());

//ff所指向的這個(gè)文件的最后修改時(shí)間

System.out.println(ff.length());

〃ff所指向的這個(gè)文件的大小是多少

System.out.println(ff.delete());

〃刪除肝所指向的文件是否成功

System.out.println(f.renameTo(fl));

〃是否成功的將f所指向的文件重命名為fl

System.out.println(f.toStringO);

〃以字符串的形式將f對(duì)象返回

在eclipse中測(cè)試一下結(jié)果:

資源一FileNa>e.java—Eclipse平臺(tái)[L~|[,p'|[X~|

文件電)編輯⑥源代碼⑤)重構(gòu)復(fù))瀏覽與搜索?項(xiàng)目也)運(yùn)行?窗口也)幫助量)

「一勢(shì)34早,|得1▼中9…回吐資源

七1導(dǎo)航器H0O

甲&

日&cla

sr團(tuán)c

團(tuán)

團(tuán)FileName.java

團(tuán)In.java

團(tuán)Input,java

團(tuán)Output.java

團(tuán)TestFilel.java

fTestin.java

任務(wù)日控制臺(tái)■;<兇?"o可

生大綱

K〈已終止〉FileName[Java應(yīng)用程序]C:\j2sdkl.4.214\bin\javaw.exe(2007-6-1913:24:

true

true

F';導(dǎo)入聲明true

E)G〉FileNamed:\javal1l\ww.txt

?SmainString口)false

true

false

false

1182230652000

0

true

false

d:\whjhg.txt

可寫智能插入11:28

第二節(jié)怎么樣將一個(gè)創(chuàng)建好的文件寫入一些內(nèi)容

importjava.io.FileOutputStream;

importjava.io.IOException;

importjava.io.PrintStream;

〃導(dǎo)入java.io包中的FileOutputStream、lOException、PrintStream

publicclassOutput{

〃創(chuàng)建名叫Output的類

publicvoidwrite(Stringfilename){

〃創(chuàng)建一個(gè)帶有參數(shù)的無返回值的方法write

〃目的是將形參中所代表的路徑名文件寫入一些內(nèi)容

FileOutputStreamfs=null;

PrintStreamps=null;

〃分別創(chuàng)建兩個(gè)FileOutputStreamPrintStream對(duì)象fs與ps。

〃將它們初始化為null

try(

〃處理在寫入文件時(shí)可能出現(xiàn)的特殊

fs=newFileOutputStream(filename);

〃將fs的引用指向用該方法形參作為構(gòu)造方法參數(shù)的FileOutputStream對(duì)象

ps=newPrintStream(fs);

〃將ps的引用指向用fs作為構(gòu)造方法參數(shù)的Printstream對(duì)象

ps.println("1234567890123");

〃調(diào)用ps對(duì)象中的printin方法,將字符串"1234567890123"寫入到文件中

System.out.println("文件寫入成功”);

〃假如沒有出現(xiàn)特殊,輸出文件寫入成功。

}catch(Exceptione){

〃捕獲特殊

e.printStackTrace();

}finally{

〃不管是否寫入成功,都應(yīng)該將fs與ps所指向的文件關(guān)閉

try(

if(ps!=null)

ps.close();

}catch(Exceptionel){

e1.printStackTraceO;

)

try(

if(fs!=null)

fs.close();

}catch(lOExceptionel){

el.printStackTrace();

)

}

在eclipse中測(cè)試一下

,資源一Testlirte.java—Eclipse平臺(tái)

文件9編輯堡)源代碼⑤)重構(gòu)建)瀏覽⑤搜索⑥項(xiàng)目9運(yùn)行?窗口也)幫助?

[門:J滸,蟒]幽,存「,中吟隹資源

電導(dǎo)航器笈■|71Output.….|.pT|T”tWir...

--白與▼1>i*portjava.io.File;[]

3

在會(huì)06154________

000617iTestWirl

S'&classes6

’2publicstaticvoidmain(String[]args){

srL8

2IDuTest.java9

LJ一JFileName.javaFileff=nerFile(*d:/java333*):

‘In.java11

山ff.mkdir():

:Input,javaFilef=newFile("D:/java333","ww?txt");

JJ一

Output.java14try{

山TestFilel.javaf.createNewFile();

Testin.javav}catch(lOExceptione){

17

e.printStackTrace();

19}

Stringfilename=f.getAbsolutePath():

System,out.printIn(filename);

+/導(dǎo)入聲明Outputo=ne<Output();

B-Gm匚Tes二tWirZtZeo.write(filename);

-Smain6tring[])24}

25I

任務(wù)日控制臺(tái)?:■女I巫城|廿,,???/p>

〈已終止〉TestWirte[Java應(yīng)用程序]C:\j2sdkl.4.214\bin\javaw.exe(2007-6-1913:5f

:D文:庫寫av入a3成33功\ww.txt

文件②編輯圖)查看9收瀛④工具②幫助量)

。部??尸糕,匚文件夾區(qū)

?w.txt—記事本

.

地憶②cJD:\java333文件電)編輯⑥格式@)查看9幫助國)

1234567890123

第三節(jié)怎么樣讀取一個(gè)文件的內(nèi)容

importjava.io.File;

importjava.io.FilelnputStream;

importjava.io.IOException;

〃導(dǎo)入java.io包中的File、FilelnputStream、lOException

publicclassIn{

〃創(chuàng)建名叫In的類

publicStringfun(Stringa){

〃創(chuàng)建帶有參數(shù)的,返回值類型為String的方法fun

〃其中形參a是字符串形式的文件路徑

〃該方法返回的是形參路徑所指向的文件內(nèi)容

Fileff=newFile(a);

〃創(chuàng)建用形參作為構(gòu)造方法參數(shù)的File類型的對(duì)象ff

FilelnputStreamfs=null;

〃創(chuàng)建FilelnputStream對(duì)象fs,并初始化為null

byte[]bb=newbyte[2];

//創(chuàng)建byte型的數(shù)組bb,并指定長(zhǎng)度為2,指定了每次讀取的字符數(shù)

Stringcon=,,u;

〃創(chuàng)建一個(gè)String類型的變量con,用來儲(chǔ)存讀取文件的內(nèi)容

intn=0;

〃定義一個(gè)局部變量。初始化為0

try{

〃處理在讀取文件中可能存在的特殊

fs=newFileInputStream(ff);

〃將fs的引用指向用該方法形參作為構(gòu)造方法參數(shù)的FilelnputStream對(duì)象

while(n!=-l){

〃以是否讀到文件尾為推斷條件,進(jìn)行while循環(huán)

if(n!=0){

//假如n不等于0,將讀取bb數(shù)組中的n個(gè)字符

〃并將其內(nèi)容放入到temp臨時(shí)字符串中

Stringtemp=newString(bb,O,n);

〃將內(nèi)容累加到con中

con+=temp;

)

n=fs.read(bb);

〃用fs對(duì)象調(diào)用read方法將讀取出的字符個(gè)數(shù)賦給n

}

)catch(Exceptione){

〃捕獲特殊

e.prinlStackTrace();

}finally(

〃不管是否出現(xiàn)特殊都應(yīng)該將文件關(guān)閉

try(

//處理關(guān)閉文件時(shí)產(chǎn)生的特殊

fs.close();

}catch(lOExceptionel){

//捕獲lOException特殊

el.printStackTrace();

)

returncon;

〃返回調(diào)用該方法所讀取的文件內(nèi)容

我們?cè)趀clipse中測(cè)試一下,測(cè)試碼如圖:

費(fèi)源一TestRead.java—Eclipse平?臺(tái)□0?

文件電)編輯⑥源代碼⑤)重構(gòu)復(fù))瀏覽與搜索?項(xiàng)目9運(yùn)行?窗口也)幫助QD

「L"勢(shì)▼。R▼],]/麝▼中9…回吐資源

心導(dǎo)航器區(qū)'0s

1i*portjava.io.File;

2

i£DuTest.java^publicclassTestRead{

一m

FileName.java4//創(chuàng)建測(cè)試類TestRead

m5vpublicstaticvoidmain(String[]args){

In.jaua6〃創(chuàng)建main方法作為程序關(guān)口

Bj(Input,javaInaa=nevIn():

m

aOutput.java8//倉摩Input對(duì)象來調(diào)用fun方法

TestFilel.java9Filef=newFile(wD:/java333/ww.txt*);

Testin.java10〃創(chuàng)建File的對(duì)象f,f指向要讀取的文件路徑

h:Stringstrl=f.getAbsolutePath():

|J|TestRead.java12〃將通絕對(duì)路在返向給String類型fibstrl

|J|TestWirte.java13try處理要讀取的文件不存在的異常

—.classpath14

.project15Stringstr2=aa.fun(str1);

Ls16〃調(diào)用fun方法,將其讀取該文件后返回的內(nèi)用放入str2中

°曰17System.out.printIn(str2):

18〃輸出讀取的文件內(nèi)容

瓦&宜e$▼19}catch(Exceptione){

20〃捕獲異常

F導(dǎo)入聲明21e.printStackTrace();

二:TestRead22

?SmainString口)123

24

cu

任務(wù)日控制舍二-&|笈靖I兇@?o

<已終止>TestRead[Java應(yīng)用程序]C:\j2sdkl.4.2_14\bin\javaw.exe(2007-6-1914

1234567890123

可寫智能插入22:10

第四節(jié)利用前兩個(gè)程序中的方法拷貝一個(gè)文件

importjava.io.File;

importjava.io.FilelnputStream;

importjava.io.FileOutputStream;

importjava.io.lOException;

〃導(dǎo)入java.io包中的File、FilelnputStreamFileOutputStreamlOException類

publicclassCopyFile{

〃創(chuàng)建CopyFile類

publicvoidcopy(StringsrcName,StringdesName){

//創(chuàng)建copy方法,其形式參數(shù)分別為源文件與目的文件

Filesrc=newFile(srcName);

Filedes=newFile(desName);

〃分別由兩個(gè)形參作為File構(gòu)造方法的參數(shù),創(chuàng)建兩個(gè)File對(duì)象src與des

FilelnputStreamfis=null;

FileOutputStreamfos=null;

〃分別聲明FilelnputStreamxFileOutputStream的對(duì)象fis與fos,并將其初始化為null

try(

//處理在文件copy的時(shí)候所產(chǎn)生的特殊

des.createNewFile();

〃創(chuàng)建形參des所指的目的文件

fis=newFilelnputStream(src);

fos=newFileOutputStream(des);

〃分別創(chuàng)建FilelnputStream>FileOutputStream的對(duì)象fis與fos

intn=0;

〃定義整形變量n,初始化為0

byte[]buf=newbyte[2];

〃創(chuàng)建byte型的數(shù)組bb,并指定長(zhǎng)度為2,指定了每次讀取的字符數(shù)

while((n=fis.read(buf))!=-1){

〃調(diào)用fis的read方法讀取源文件,并將其讀取的字符數(shù)量賦給n

〃定義循環(huán)條件為n!=-l(未讀到文件尾)

fos.write(buf,0,n);

〃將每次讀取的內(nèi)容寫入到目的文件中

)

)catch(Exceptione){

//捕獲特殊

e.printStackTrace();

}finally{

〃為了安全起見,分別處理在文件關(guān)閉時(shí)的特殊

try(

if(fos!=null)

fos.flush();

}catch(lOExceptionel){

el.printStackTrace();

)

try(

if(fos!=null)

fos.close();

}catch(lOExceptione2){

e2.printStackTrace();

}

22)System,out.printIn(in.fun("D:/bb.txt*)):

〃將D:/bb.txt的內(nèi)容輸出出來|

18〃將D:,aa.txt的內(nèi)容據(jù)貝給D:/bb.txt

cf.copy(*D:/aa.txt*,*D:/bb.txt*):

16〃初建CopyFile對(duì)象c工并調(diào)用其中的copy方法

CopyFilecf=ne?CopyFile();

14〃輸出D:/aa.txt文件中的內(nèi)容

System,out.printIn(con);

Stringcon=in.fun(rtD:/aa.txt*);

〃創(chuàng)建InM象in,調(diào)用fun為法,源其內(nèi)容讀出來賦給con

Inin=newIn();

9〃將D:/aa.txt文件寫入*1234567890123”

o.write(*D:/aa.txt*);

〃釗建Output對(duì)彖o,并晌用其中的write方法

if(fis!=null)

fis.close();

}catch(lOExceptione3){

6Outputo=newOutput():

e3.printStackTrace();

System.out.println("文件copy成功");

)

5//創(chuàng)建main方法作為程序關(guān)口

在eclipse中測(cè)試,測(cè)試碼如下圖:

費(fèi)源一Test,java—Eclipse平臺(tái)13回因

文件電)編輯⑥源代碼⑤)重構(gòu)復(fù))瀏覽與搜索?項(xiàng)目9運(yùn)行?窗口也)幫助QD

「L勢(shì)34與J9l▼,▼中9…回吐資源

心導(dǎo)航器眼\0O[J]CopyFile.javaDTest,javaOutput,java[J]In.java°o

I

BZ^publicclassTest{

CopyFile.java3〃創(chuàng)洋測(cè)試類上st,用來測(cè)試文件拷貝方法

團(tuán)

DuTest.javapublicstaticvoidmain(String[]args){

團(tuán)

FileName.java

團(tuán)

In.java

團(tuán)

Input,java

團(tuán)

Output.java

團(tuán)

Test,java

團(tuán)

TestFilel.java

團(tuán)

Testin.java

團(tuán)

TestRead.java

團(tuán)

TestWirte.java

B?>Test

?'mainCString口)

任務(wù)日控制臺(tái)■■|一城|一日▼口曰|

<已終止>Test(12)[Jan應(yīng)用程序]C:\j2sdkl.4.2_14\bin\javaw.exe(2007~6~2022:1C

文件寫入成功一人

12I34567890123

文件copy成功

1234567890123

可寫智能插入20:28

第十五章2007年6月20日星期三

授課教師:

學(xué)生:

第一節(jié)與文件操作有關(guān)的一些程序?qū)嵗?/p>

一、實(shí)現(xiàn)FilenameFilter接口來過濾符合某些條件的文件或者目錄。

importjava.io.File;

importjava.io.FilenameFilter;

//導(dǎo)入java.io包中的File類與FilenameFilter接口

publicclassJavaFilterimplementsFilenameFilter{

〃創(chuàng)建JavaFilter類實(shí)現(xiàn)FilenameFilter接口

publicbooleanaccept(Filedir,Stringname)(

〃重寫接口中的accept方法,以實(shí)現(xiàn)FilenameFilter接口

returnname.endsWith(".java");

〃返回一以".java"結(jié)尾字符串

在eclipse中測(cè)試:

二、讀取properties類型文件的內(nèi)容:

properties類型文件叫屬性文件,其中的內(nèi)容不要寫中文,否則會(huì)讀出亂碼,它的作用

是實(shí)現(xiàn)程序與程序之間、程序與服務(wù)器之間的信息交換。

由于properties類型文件通常存放的是一些服務(wù)器的IP地址,或者者存放程序?qū)崿F(xiàn)所務(wù)

必的目錄或者文件,因此能夠利用文件返回的字符串來使保護(hù)程序更加方便。

下面舉一個(gè)讀取properties類型文件的內(nèi)容的程序。

我們首先在硬盤上創(chuàng)建一個(gè)test,properties.用記事本打開寫入內(nèi)容如下圖

B'test,properties—記事本□0B

文件g翡輯?格式@)查看w)幫助Qi)

|url=

nane=tiger

其中url與name叫做標(biāo)記,后面的部分叫內(nèi)容

importjava.io.File;

importjava.io.FilelnputStream;

importjava.util.Properties;

//導(dǎo)入java.io包中的File與FilelnputStream類

//#Ajava.util中的Properties類

publicclassReadPro{

//創(chuàng)建ReadPro類

publicStringurl=

publicStringname=

〃定義.properties類型文件中的內(nèi)容標(biāo)記url與name作為數(shù)據(jù)成員,初始化它們

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論