锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
Input / Output:鎸囪法瓚婂嚭JVM鐨勮竟鐣?/span>,涓庡鐣屾暟鎹殑婧愬ご鎴栬呯洰鏍囨暟鎹簮榪涜鏁版嵁浜ゆ崲.
杈撳嚭 Output
------------------------------->
JVM 鏁版嵁婧?/span>
<-------------------------------
杈撳叆 Input
娉ㄦ剰錛氳緭鍏?/span>/杈撳嚭鏄拡瀵?/span>JVM 鑰岃█銆?/span>
File 綾?/span>
鍙〃紺轟竴涓枃浠訛紝涔熸湁鍙兘鏄竴涓洰褰?/span>(鍦?/span>JAVA涓枃浠跺拰鐩綍閮藉睘浜庤繖涓被涓紝鑰屼笖鍖哄垎涓嶆槸闈炲父鐨勬槑鏄撅紝鍙互璋冪敤isDirectory()鍜?/span>isFile()鏉ュ垽鏂?/span>)銆?/span>
甯哥敤鐨勬柟娉曪細
exists() 鐢ㄦ潵鍒ゆ柇 鏂囦歡鎴栫洰褰曟槸鍚﹀瓨鍦ㄣ?/span>
isDirectory() 鍒ゆ柇鏄惁鏄洰褰?/span>
isFile() 鍒ゆ柇鏄惁鏄枃浠?/span>
mkdir() 鍒涘緩鐩綍
mkdirs() 鍒涘緩鐩綍鍖呮嫭瀹冧笅闈㈢殑瀛愮洰褰曘?/span>
getAbsolutePath() 寰楀埌鏂囦歡緇濆璺緞
getParentFile() 寰楀埌鐖剁洰褰曠殑File瀵硅薄
list() 寰楀埌鏂囦歡鍚嶇殑String鏁扮粍 (寰楀埌褰撳墠鐩綍涓嬬殑鏂囦歡鍚嶏紝鐩綍鍚?/span>)
listFiles() 榪斿洖File綾誨瀷鏁扮粍錛?/span>(鐩綍,鏂囦歡鐨?/span>File瀵硅薄)鍙敤getName()寰楀埌鏂囦歡鍚嶃?/span>
delete() 鍒犻櫎鏂囦歡
getName() 寰楀埌鏂囦歡鍚?/span>
getPath() 寰楀埌鏂囦歡鐩稿璺緞
separtor() 寰楀埌鏂囦歡鍒嗛殧絎?/span> //榪欎釜鏂規硶鏈夋洿濂界殑閫氱敤鎬?/span>,騫沖彴涓嶅悓緇撴灉涓嶅悓
deleteOnExit() 鍦ㄨ繘紼嬮鍑虹殑鏃跺欏垹闄ゆ枃浠?/span>,甯哥敤鍦ㄤ復鏃舵枃浠剁殑鍒犻櫎銆?/span>
1銆佹祦鐨勬蹇碉細
杈撳嚭嫻?/span>
紼嬪簭----------->鏂囦歡銆佺綉緇?/span>
紼嬪簭<-----------鏁版嵁鏉ユ簮
杈撳叆嫻?/span>
2銆佹祦鐨勫垎綾伙細
鎸夊鐞嗘柟寮忔潵鍒嗭細
瀛楄妭嫻侊細鎸?/span>8浣嶄紶杈?/span> InputStream OutputStream
瀛楃嫻侊細鎸?/span>16浣嶄紶杈?/span> Reader Writer
鎸夊姛鑳芥潵鍒嗭細
鑺傜偣嫻侊細涓庢枃浠躲佺綉緇滄墦浜ら亾鐨勬祦錛屾搷浣滄暟鎹殑鏉ユ簮
澶勭悊嫻?/span>(鍖呰嫻?/span>)錛氭搷浣滆妭鐐規祦
濡備綍鍖哄垎錛?/span>
杈撳叆嫻侊細浠?/span>InputStream銆?/span>Reader緇撳熬鐨勬祦
FileInputStream BufferedReader
杈撳嚭嫻侊細浠?/span>OutputStream銆?/span>Writer緇撳熬鐨勬祦
FileOutputStream PrintWriter
瀛楄妭嫻侊細浠?/span>InputStream銆?/span>OutputStream緇撳熬鐨勬祦
瀛楃嫻侊細浠?/span>Reader銆?/span>Writer緇撳熬鐨勬祦
鑺傜偣嫻侊細鐪嬫瀯閫犲櫒錛屽弬鏁頒負鏁版嵁鏉ユ簮錛屽弬鏁版槸String鎴?/span>File涔嬬被鐨?/span>
new FileInputStream("d:\\abc.txt");
new FileOutputStream(new File("d:\\abc.txt"))
澶勭悊嫻侊細鏋勯犲櫒鐨勫弬鏁頒負鍏跺畠嫻?/span>
new BufferedReader(new InputStreamReader(new FileInputStream("d:\\abc.txt")));
閫夋嫨嫻佹椂錛?/span>
棣栧厛紜畾鏄緭鍏ヨ繕鏄緭鍑恒?/span>
鍏舵紜畾鏄瓧鑺傛祦榪樻槸瀛楃嫻併?/span>
鐒跺悗紜畾鏄妭鐐規祦榪樻槸澶勭悊嫻併?/span>
鏍規嵁鏁版嵁綾誨瀷閫夋嫨杈撳叆/杈撳嚭嫻侊細
鈶燽yte銆?/span>byte[] InputStream / OutputStream
鈶nt銆?/span>byte銆?/span>char銆?/span>double DataInputStream / DataOutputStream
鈶har銆?/span>String Reader / Writer
鈶bject ObjectInputStream / ObjectOutputStream
鑻ヨ冭檻鎬ц兘浼氬湪鍓嶈瘯鐫鍔?/span>Buffered
3銆佸父鐢ㄦ祦錛?/span>
DataInputStream&DataOutputStream 鐢ㄤ簬璇誨啓鍩烘湰綾誨瀷鏁版嵁錛屽int銆?/span>float銆?/span>long銆?/span>double鍜?/span>boolean絳夈?/span>
姝ゅ錛?/span>DataInputStream鐨?/span>readUTF()鏂規硶榪樿兘璇誨彇閲囩敤UTF-8瀛楃緙栫爜鐨勫瓧絎︿覆銆?/span>
BufferedInputStream&BufferedOutputStream
鍥犱負鍒╃敤浜嗙紦鍐插尯錛屾墍浠ュ父鐢ㄤ簬鎻愰珮璇誨啓鏁版嵁鐨勬晥鐜囥?/span>
BufferedInputStream鍏堟妸涓鎵規暟鎹鍏ュ埌緙撳啿鍖猴紝鎺ヤ笅鏉?/span>read鏂規硶鍙渶瑕佷粠緙撳啿鍖哄唴鑾峰緱鏁版嵁錛屽噺灝戜簡鐗╃悊鎬ц鍙栨暟鎹殑嬈℃暟銆?/span>
鍙互浣跨敤BufferedInputStream(InputStream in, int size) 涓殑size鏉ユ寚瀹氱紦鍐插尯鐨勫ぇ灝?/span>
ObjectOutputStream&ObjectInputStream
瀵硅薄鐨勫簭鍒楀寲鏄寚鎶婂璞″啓鍒頒竴涓緭鍑烘祦涓紝
瀵硅薄鐨勫弽搴忓垪鍖栨槸鎸囦粠涓涓緭鍏ユ祦涓鍙栦竴涓璞°?/span>
Java璇█瑕佹眰鍙湁瀹炵幇浜?/span>java.io.Serializable鎺ュ彛鐨勭被鐨勫璞℃墠鑳藉簭鍒楀寲鍜屽弽搴忓垪鍖?/span>
Reader/Writer
褰撻渶瑕佺▼搴忚鍐欐枃鏈枃浠訛紝鑰屼笖鏂囨湰鏂囦歡閲囩敤鐗瑰畾鐨勫瓧絎︾紪鐮侀泦鏃訛紝搴旈噰鐢?/span>Reader/Writer銆?/span>
InputStreamReader & OutputStreamWriter 妗ユ嫻?/span>
鎶婂瓧鑺傛祦杞崲鎴愬瓧絎︽祦
鍦ㄦˉ杞崲鐨勬椂鍊欏彲浠ユ寚瀹氱紪瑙g爜鏂瑰紡
BufferedReader
readLine()鏂規硶鍙互涓嬈¤鍏ヤ竴琛屽瓧絎︼紝浠ュ瓧絎︿覆褰㈠紡榪斿洖銆?/span>
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("file"),"UTF-8"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file"),"UTF-8"));
PrintWriter 杈撳嚭鏍煎紡鍖栫殑鏁版嵁錛屾墍鏈夌殑鍐欐暟鎹殑鏂規硶浠?/span>print寮澶淬?/span>
print (int i)
print (long l)
print (float f)
print (String s)
姣忎釜print() 鏂規硶閮芥湁涓涓?/span>println()鏂規硶瀵瑰簲
a.
printWriter.println("Hello");
b.
printWriter.print("Hello");
printWriter.println();
c.
printWriter.print("Hello\n");
浠ヤ笂涓夋浠g爜鏄瓑浠風殑
4銆?/span>JAVA緙栫爜闂錛?/span>UTF-8,GBK錛?/span>GB2312鏄彲浠ユ樉紺轟腑鏂囩殑銆?/span>
ASCII 涓涓瓧絎?/span>-----1B 浠諱綍涓縐嶇紪鐮佸潎鍏煎 A<-->65
ISO8859-1 (瑗挎) 涓涓瓧絎?/span>-----1B
GB2312 / GBK 涓涓瓧絎?/span>-----2B
Unicode 涓涓瓧絎?/span>-----2B 浼氬鍔犵綉緇滆礋鎷?/span> Java涓殑char鏄?/span>Unicode
UTF-8 鍙橀暱瀛楄妭(鍙橀暱鐨?/span>Unicode鏂瑰紡)
鑻辨枃-----1B
涓枃-----3B
鎻愪緵緙栫爜甯姪鐨勭被錛?/span>java.nio.charset.Charset
GBK---涓佹棩銆侀煩錛?/span>gb2312鏄?/span>GBK鐨勫瓙闆?/span>
浼氬嚭鐜頒腑鏂囩紪鐮侀棶棰樼殑鎯呭喌錛?/span>
1銆佺敤嫻佹搷浣滄枃浠舵椂
2銆佺綉欏?/span>(鍔ㄦ併侀潤鎬?/span>)
3銆佺綉緇滀紶閫掍俊鎭椂
String--->涔辯爜(鍐嶆杞爜)
String temp=p.getProperty("name");
temp=new String(temp.getBytes("ISO8859-1"),"GBK");榪欎袱澶勭殑緙栫爜鏈夋椂闇瑕佷簰鎹綅緗?/span>
瀵硅薄搴忓垪鍖?/span>
1錛氬畾涔夛細鎶婂璞′綔涓轟竴涓暣浣擄紝鍦?/span>I/O嫻佷腑浼犳挱
2錛氳娉曪細
(錛?/span>)瀹炵幇浜?/span>Serializeble鎺ュ彛鐨勫璞℃墠鑳藉彲搴忓垪鍖栥傝繖涓帴鍙i噷娌℃湁浠諱綍鏂規硶錛屾病鏈夋柟娉曠殑鎺ュ彛縐頒負鏍囪鎺ュ彛銆?/span>
渚嬪錛?/span>class Student implements Serializeble{}銆
(錛?/span>)濡傛灉涓涓簭鍒楀寲鍚庣殑瀵硅薄閲岄潰鏈変竴涓睘鎬ф槸涓璞″睘鎬э紝閭d箞榪欎釜瀵硅薄灞炴т篃闇瑕佸疄鐜板簭鍒楀寲銆?/span>
渚嬪錛?/span>class Student implements Serializeble{
銆銆銆銆銆Teacher t;//蹇呴』搴忓垪鍖?/span>
}
class Teacher implements Serializeble{}
(3)鍖呭悕銆佺被鍚嶃佸睘鎬у彲浠ヨ搴忓垪鍖?/span>
鏂規硶銆佹瀯閫犲櫒涓嶄細搴忓垪鍖?/span>
鎵鏈夌殑闈欐佸睘鎬ч兘涓嶄細琚簭鍒楀寲
鐢?/span>transient鍏抽敭瀛椾慨楗扮殑灞炴ф槸涓存椂灞炴э紝涓存椂灞炴т笉鍙備笌搴忓垪鍖栥?/span>
3錛氫嬌鐢ㄦ敞鎰忥細
a.鐢?/span>readObject璇繪枃浠剁殑鏃跺欙紝褰撴枃浠剁粨鏉熺殑鏃跺欎細鎶涘嚭EOFException錛屽綋鎴戜滑鎹曡幏榪欎釜寮傚父鐨勬椂鍊欙紝紼嬪簭灝辯粨鏉熶簡銆?/span>
b.濡傛灉闇瑕佸悜涓涓枃浠朵腑榪藉姞瀵硅薄錛岄鍏堣鎶婃枃浠朵腑鍘熸湁鐨勫璞¤鍑烘潵錛屽啀鎶婂師鏈夊璞″拰鏂拌拷鍔犵殑瀵硅薄涓璧峰啓鍏ュ埌鏂囦歡銆?/span>
c. serialVersionUID鏄潤鎬佸父閲忥紝琛ㄧず褰撳墠瀵硅薄鐨勭増鏈彿錛屽湪鎺ュ彈浼犺緭鐨勬暟鎹椂浼氳嚜鍔ㄦ鏌ヨ鍊鹼紝淇濊瘉鐗堟湰鐨勭浉鍚屻?/span>
java.util.Properties灞炴х被錛岄拡瀵瑰睘鎬ф枃浠舵搷浣滐紝鏃╂湡浣跨敤銆?/span>
濂藉鏄彲浠ュ湪涓嶄慨鏀逛唬鐮佺殑鎯呭喌涓嬫敼鍙樼浉搴旂殑闇姹傘?/span>
鏂囦歡鍚嶄互.properties緇撳熬鐨勬枃浠剁О涓哄睘鎬ф枃浠?/span>
鏂囦歡鐨勫唴瀹規槸錛氬悕瀛?/span>=鍊?/span> 鐨勫艦寮?/span>
甯哥敤鏂規硶錛?/span>
public void load(InputStream inStream)throws IOException
浠庤緭鍏ユ祦涓鍙栧睘鎬у垪琛?/span>
public void store(OutputStream out,String comments)throws IOException
鎶婂睘鎬у垪琛ㄥ啓鍏ヨ緭鍑烘祦
public String getProperty(String key)
public String getProperty(String key,String defaultValue)
public Object setProperty(String key,String value)