版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年P(guān)VC繩項(xiàng)目可行性研究報(bào)告
- 2025至2030年軟鎖項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年美式瑪鋼卡頭項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年硫酸鉀鎂肥項(xiàng)目投資價(jià)值分析報(bào)告
- 2025至2030年中國潤通茶數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國尼龍風(fēng)衣數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 水果電商平臺(tái)競(jìng)爭(zhēng)力分析-深度研究
- 2025年蓄電池自動(dòng)穿壁焊機(jī)項(xiàng)目可行性研究報(bào)告
- 2025年擺錘式?jīng)_擊實(shí)驗(yàn)機(jī)項(xiàng)目可行性研究報(bào)告
- 高效停車管理系統(tǒng)教育領(lǐng)域中的實(shí)施與展望
- 2024年山東省泰安市高考語文一模試卷
- 全國助殘日關(guān)注殘疾人主題班會(huì)課件
- TCL任職資格體系資料HR
- 《中國古代寓言》導(dǎo)讀(課件)2023-2024學(xué)年統(tǒng)編版語文三年級(jí)下冊(cè)
- 五年級(jí)上冊(cè)計(jì)算題大全1000題帶答案
- 工程建設(shè)行業(yè)標(biāo)準(zhǔn)內(nèi)置保溫現(xiàn)澆混凝土復(fù)合剪力墻技術(shù)規(guī)程
- 液壓動(dòng)力元件-柱塞泵課件講解
- 人教版五年級(jí)上冊(cè)數(shù)學(xué)脫式計(jì)算100題及答案
- 屋面細(xì)石混凝土保護(hù)層施工方案及方法
- 2024年1月山西省高三年級(jí)適應(yīng)性調(diào)研測(cè)試(一模)理科綜合試卷(含答案)
- 110kv各類型變壓器的計(jì)算單
評(píng)論
0/150
提交評(píng)論