锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
1. stream
stream浠h〃鐨勬槸浠諱綍鏈夎兘鍔涗駭鍑烘暟鎹殑鏁版嵁婧愶紝鎴栨槸浠諱綍鏈夎兘鍔涙帴鏀舵暟鎹殑鎺ユ敹婧愩傚湪Java鐨処O涓紝鎵鏈夌殑stream錛堝寘鎷琁nput鍜孫ut stream錛夐兘鍖呮嫭涓ょ綾誨瀷錛?br />聽
聽1.1 浠ュ瓧鑺備負瀵煎悜鐨剆tream
聽浠ュ瓧鑺備負瀵煎悜鐨剆tream錛岃〃紺轟互瀛楄妭涓哄崟浣嶄粠stream涓鍙栨垨寰stream涓啓鍏ヤ俊鎭備互瀛楄妭涓哄鍚戠殑stream鍖呮嫭涓嬮潰鍑犵綾誨瀷錛?br />聽1) input銆stream錛?br />聽1) ByteArrayInputStream錛氭妸鍐呭瓨涓殑涓涓紦鍐插尯浣滀負InputStream浣跨敤
聽2) StringBufferInputStream錛氭妸涓涓猄tring瀵硅薄浣滀負InputStream
聽3) FileInputStream錛氭妸涓涓枃浠朵綔涓篒nputStream錛屽疄鐜板鏂囦歡鐨勮鍙栨搷浣?br />聽4) PipedInputStream錛氬疄鐜頒簡pipe鐨勬蹇碉紝涓昏鍦ㄧ嚎紼嬩腑浣跨敤
聽5) SequenceInputStream錛氭妸澶氫釜InputStream鍚堝茍涓轟竴涓狪nputStream
聽2) Out銆stream
聽1) ByteArrayOutputStream錛氭妸淇℃伅瀛樺叆鍐呭瓨涓殑涓涓紦鍐插尯涓?br />聽2) FileOutputStream錛氭妸淇℃伅瀛樺叆鏂囦歡涓?br />聽3) PipedOutputStream錛氬疄鐜頒簡pipe鐨勬蹇碉紝涓昏鍦ㄧ嚎紼嬩腑浣跨敤
聽4) SequenceOutputStream錛氭妸澶氫釜OutStream鍚堝茍涓轟竴涓狾utStream
聽
聽1.2 浠nicode瀛楃涓哄鍚戠殑stream
聽浠nicode瀛楃涓哄鍚戠殑stream錛岃〃紺轟互Unicode瀛楃涓哄崟浣嶄粠stream涓鍙栨垨寰stream涓啓鍏ヤ俊鎭備互Unicode瀛楃涓哄鍚戠殑stream鍖呮嫭涓嬮潰鍑犵綾誨瀷錛?br />聽1) Input銆Stream
聽1) CharArrayReader錛氫笌ByteArrayInputStream瀵瑰簲
聽2) StringReader錛氫笌StringBufferInputStream瀵瑰簲
聽3) FileReader錛氫笌FileInputStream瀵瑰簲
聽4) PipedReader錛氫笌PipedInputStream瀵瑰簲
聽2) Out銆Stream
聽1) CharArrayWrite錛氫笌ByteArrayOutputStream瀵瑰簲
聽2) StringWrite錛氭棤涓庝箣瀵瑰簲鐨勪互瀛楄妭涓哄鍚戠殑stream
聽3) FileWrite錛氫笌FileOutputStream瀵瑰簲
聽4) PipedWrite錛氫笌PipedOutputStream瀵瑰簲
聽浠ュ瓧絎︿負瀵煎悜鐨剆tream鍩烘湰涓婂鏈変笌涔嬬浉瀵瑰簲鐨勪互瀛楄妭涓哄鍚戠殑stream銆備袱涓搴旂被瀹炵幇鐨勫姛鑳界浉鍚岋紝瀛楁槸鍦ㄦ搷浣滄椂鐨勫鍚戜笉鍚屻傚CharArrayReader錛氬拰ByteArrayInputStream鐨勪綔鐢ㄩ兘鏄妸鍐呭瓨涓殑涓涓紦鍐插尯浣滀負InputStream浣跨敤錛屾墍涓嶅悓鐨勬槸鍓嶈呮瘡嬈′粠鍐呭瓨涓鍙栦竴涓瓧鑺傜殑淇℃伅錛岃屽悗鑰呮瘡嬈′粠鍐呭瓨涓鍙栦竴涓瓧絎︺?br />聽
聽1.3 涓ょ涓嶇幇瀵煎悜鐨剆tream涔嬮棿鐨勮漿鎹?br />聽InputStreamReader鍜孫utputStreamReader錛氭妸涓涓互瀛楄妭涓哄鍚戠殑stream杞崲鎴愪竴涓互瀛楃涓哄鍚戠殑stream銆?br />聽
聽2. stream娣誨姞灞炴?br />聽
聽2.1 鈥滀負stream娣誨姞灞炴р濈殑浣滅敤
聽榪愮敤涓婇潰浠嬬粛鐨凧ava涓搷浣淚O鐨凙PI錛屾垜浠氨鍙畬鎴愭垜浠兂瀹屾垚鐨勪換浣曟搷浣滀簡銆備絾閫氳繃FilterInputStream鍜孎ilterOutStream鐨勫瓙綾伙紝鎴戜滑鍙互涓簊tream娣誨姞灞炴с備笅闈互涓涓緥瀛愭潵璇存槑榪欑鍔熻兘鐨勪綔鐢ㄣ?br />聽濡傛灉鎴戜滑瑕佸線涓涓枃浠朵腑鍐欏叆鏁版嵁錛屾垜浠彲浠ヨ繖鏍鋒搷浣滐細
聽FileOutStream fs = new FileOutStream(鈥渢est.txt鈥?;
聽鐒跺悗灝卞彲浠ラ氳繃浜х敓鐨刦s瀵硅薄璋冪敤write()鍑芥暟鏉ュ線test.txt鏂囦歡涓啓鍏ユ暟鎹簡銆備絾鏄紝濡傛灉鎴戜滑鎯沖疄鐜扳滃厛鎶婅鍐欏叆鏂囦歡鐨勬暟鎹厛緙撳瓨鍒板唴瀛樹腑錛屽啀鎶婄紦瀛樹腑鐨勬暟鎹啓鍏ユ枃浠朵腑鈥濈殑鍔熻兘鏃訛紝涓婇潰鐨凙PI灝辨病鏈変竴涓兘婊¤凍鎴戜滑鐨勯渶姹備簡銆備絾鏄氳繃FilterInputStream鍜孎ilterOutStream鐨勫瓙綾伙紝涓篎ileOutStream娣誨姞鎴戜滑鎵闇瑕佺殑鍔熻兘銆?br />聽
聽2.2 FilterInputStream鐨勫悇縐嶇被鍨?br />聽
聽2.2.1 鐢ㄤ簬灝佽浠ュ瓧鑺備負瀵煎悜鐨処nputStream
聽1) DataInputStream錛氫粠stream涓鍙栧熀鏈被鍨嬶紙int銆乧har絳夛級鏁版嵁銆?br />聽2) BufferedInputStream錛氫嬌鐢ㄧ紦鍐插尯
聽3) LineNumberInputStream錛氫細璁板綍input stream鍐呯殑琛屾暟錛岀劧鍚庡彲浠ヨ皟鐢╣etLineNumber()鍜宻etLineNumber(int)
聽4) PushbackInputStream錛氬緢灝戠敤鍒幫紝涓鑸敤浜庣紪璇戝櫒寮鍙?br />聽
聽2.2.2 鐢ㄤ簬灝佽浠ュ瓧絎︿負瀵煎悜鐨処nputStream
聽1) 娌℃湁涓嶥ataInputStream瀵瑰簲鐨勭被銆傞櫎闈炲湪瑕佷嬌鐢╮eadLine()鏃舵敼鐢˙ufferedReader錛屽惁鍒欎嬌鐢―ataInputStream
聽2) BufferedReader錛氫笌BufferedInputStream瀵瑰簲
聽3) LineNumberReader錛氫笌LineNumberInputStream瀵瑰簲
聽4) PushBackReader錛氫笌PushbackInputStream瀵瑰簲
聽
聽2.3 FilterOutStream鐨勫悇縐嶇被鍨?br />聽
聽2.2.3 鐢ㄤ簬灝佽浠ュ瓧鑺備負瀵煎悜鐨凮utputStream
聽1) DataIOutStream錛氬線stream涓緭鍑哄熀鏈被鍨嬶紙int銆乧har絳夛級鏁版嵁銆?br />聽2) BufferedOutStream錛氫嬌鐢ㄧ紦鍐插尯
聽3) PrintStream錛氫駭鐢熸牸寮忓寲杈撳嚭
聽
聽2.2.4 鐢ㄤ簬灝佽浠ュ瓧絎︿負瀵煎悜鐨凮utputStream
聽1) BufferedWrite錛氫笌瀵瑰簲
聽2) PrintWrite錛氫笌瀵瑰簲
聽
聽3. RandomAccessFile
聽1) 鍙氳繃RandomAccessFile瀵硅薄瀹屾垚瀵規枃浠剁殑璇誨啓鎿嶄綔
聽2) 鍦ㄤ駭鐢熶竴涓璞℃椂錛屽彲鎸囨槑瑕佹墦寮鐨勬枃浠剁殑鎬ц川錛歳錛屽彧璇伙紱w錛屽彧鍐欙紱rw鍙鍐?br />聽3) 鍙互鐩存帴璺沖埌鏂囦歡涓寚瀹氱殑浣嶇疆
聽
聽4. I/O搴旂敤鐨勪竴涓緥瀛?br />
聽import java.io.*;
聽public class TestIO{
聽public static void main(String[] args)
聽throws IOException{
聽//1.浠ヨ涓哄崟浣嶄粠涓涓枃浠惰鍙栨暟鎹?/font>
聽BufferedReader in =
聽new BufferedReader(
聽new FileReader("F:\\nepalon\\TestIO.java"));
聽String s, s2 = new String();
聽while((s = in.readLine()) != null)
聽s2 += s + "\n";
聽in.close();
聽
聽//1b. 鎺ユ敹閿洏鐨勮緭鍏?br />聽BufferedReader stdin =
聽new BufferedReader(
聽new InputStreamReader(System.in));
聽System.out.println("Enter a line:");
聽System.out.println(stdin.readLine());
聽
聽//2. 浠庝竴涓猄tring瀵硅薄涓鍙栨暟鎹?/font>
聽StringReader in2 = new StringReader(s2);
聽int c;
聽while((c = in2.read()) != -1)
聽System.out.println((char)c);
聽in2.close();
聽
聽//3. 浠庡唴瀛樺彇鍑烘牸寮忓寲杈撳叆
聽try{
聽DataInputStream in3 =
聽new DataInputStream(
聽new ByteArrayInputStream(s2.getBytes()));
聽while(true)
聽System.out.println((char)in3.readByte());
聽}
聽catch(EOFException e){
聽System.out.println("End of stream");
聽}
聽
聽//4. 杈撳嚭鍒版枃浠?br />聽try{
聽BufferedReader in4 =
聽new BufferedReader(
聽new StringReader(s2));
聽PrintWriter out1 =
聽new PrintWriter(
聽new BufferedWriter(
聽new FileWriter("F:\\nepalon\\ TestIO.out")));
聽int lineCount = 1;
聽while((s = in4.readLine()) != null)
聽out1.println(lineCount++ + "錛? + s);
聽out1.close();
聽in4.close();
聽}
聽catch(EOFException ex){
聽System.out.println("End of stream");
聽}
聽
聽//5. 鏁版嵁鐨勫瓨鍌ㄥ拰鎭㈠
聽try{
聽DataOutputStream out2 =
聽new DataOutputStream(
聽new BufferedOutputStream(
聽new FileOutputStream("F:\\nepalon\\ Data.txt")));
聽out2.writeDouble(3.1415926);
聽out2.writeChars("\nThas was pi:writeChars\n");
聽out2.writeBytes("Thas was pi:writeByte\n");
聽out2.close();
聽DataInputStream in5 =
聽new DataInputStream(
聽new BufferedInputStream(
聽new FileInputStream("F:\\nepalon\\ Data.txt")));
聽BufferedReader in5br =
聽new BufferedReader(
聽new InputStreamReader(in5));
聽System.out.println(in5.readDouble());
聽System.out.println(in5br.readLine());
聽System.out.println(in5br.readLine());
聽}
聽catch(EOFException e){
聽System.out.println("End of stream");
聽}
聽
聽//6. 閫氳繃RandomAccessFile鎿嶄綔鏂囦歡
聽RandomAccessFile rf =
聽new RandomAccessFile("F:\\nepalon\\ rtest.dat", "rw");
聽for(int i=0; i<10; i++)
聽rf.writeDouble(i*1.414);
聽rf.close();
聽
聽rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "r");
聽for(int i=0; i<10; i++)
聽System.out.println("Value " + i + "錛? + rf.readDouble());
聽rf.close();
聽
聽rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "rw");
聽rf.seek(5*8);
聽rf.writeDouble(47.0001);
聽rf.close();
聽
聽rf = new RandomAccessFile("F:\\nepalon\\ rtest.dat", "r");
聽for(int i=0; i<10; i++)
聽System.out.println("Value " + i + "錛? + rf.readDouble());
聽rf.close();
聽}
聽}
聽
聽鍏充簬浠g爜鐨勮В閲婏紙浠ュ尯涓哄崟浣嶏級錛?/strong>
聽1鍖轟腑錛屽綋璇誨彇鏂囦歡鏃訛紝鍏堟妸鏂囦歡鍐呭璇誨埌緙撳瓨涓紝褰撹皟鐢╥n.readLine()鏃訛紝鍐嶄粠緙撳瓨涓互瀛楃鐨勬柟寮忚鍙栨暟鎹紙浠ヤ笅綆縐扳滅紦瀛樺瓧鑺傝鍙栨柟寮忊濓級銆?br />聽1b鍖轟腑錛岀敱浜庢兂浠ョ紦瀛樺瓧鑺傝鍙栨柟寮忎粠鏍囧噯IO錛堥敭鐩橈級涓鍙栨暟鎹紝鎵浠ヨ鍏堟妸鏍囧噯IO錛圫ystem.in錛夎漿鎹㈡垚瀛楃瀵煎悜鐨剆tream錛屽啀榪涜BufferedReader灝佽銆?br />聽2鍖轟腑錛岃浠ュ瓧絎︾殑褰㈠紡浠庝竴涓猄tring瀵硅薄涓鍙栨暟鎹紝鎵浠ヨ浜х敓涓涓猄tringReader綾誨瀷鐨剆tream銆?br />聽4鍖轟腑錛屽String瀵硅薄s2璇誨彇鏁版嵁鏃訛紝鍏堟妸瀵硅薄涓殑鏁版嵁瀛樺叆緙撳瓨涓紝鍐嶄粠緙撳啿涓繘琛岃鍙栵紱瀵筎estIO.out鏂囦歡榪涜鎿嶄綔鏃訛紝鍏堟妸鏍煎紡鍖栧悗鐨勪俊鎭緭鍑哄埌緙撳瓨涓紝鍐嶆妸緙撳瓨涓殑淇℃伅杈撳嚭鍒版枃浠朵腑銆?br />聽5鍖轟腑錛屽Data.txt鏂囦歡榪涜杈撳嚭鏃訛紝鏄厛鎶婂熀鏈被鍨嬬殑鏁版嵁杈撳嚭灞嬬紦瀛樹腑錛屽啀鎶婄紦瀛樹腑鐨勬暟鎹緭鍑哄埌鏂囦歡涓紱瀵規枃浠惰繘琛岃鍙栨搷浣滄椂錛屽厛鎶婃枃浠朵腑鐨勬暟鎹鍙栧埌緙撳瓨涓紝鍐嶄粠緙撳瓨涓互鍩烘湰綾誨瀷鐨勫艦寮忚繘琛岃鍙栥傛敞鎰廼n5.readDouble()榪欎竴琛屻傚洜涓哄啓鍏ョ涓涓獁riteDouble()錛屾墍浠ヤ負浜嗘紜樉紺恒備篃瑕佷互鍩烘湰綾誨瀷鐨勫艦寮忚繘琛岃鍙栥?br />聽6鍖烘槸閫氳繃RandomAccessFile綾誨鏂囦歡榪涜鎿嶄綔銆?/p>
鏂囦歡鐨勫緩绔?媯鏌ヤ笌鍒犻櫎
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>鏂囦歡鐨勫緩绔嬨佹鏌ヤ笌鍒犻櫎</title>
</head>
<body>
<%
String path=request.getRealPath("");
//out.println(path);
File f=new File(path,"File.txt");
//out.println(f);
//out.println(f.exists());
if(f.exists()){//媯鏌ile.txt鏄惁瀛樺湪
f.delete();//鍒犻櫎File.txt鏂囦歡
out.println(path + "\\File.txt 瀛樺湪錛屽凡鍒犻櫎銆?);
}else{
f.createNewFile();//鍦ㄥ綋鍓嶇洰褰曚笅寤虹珛涓涓悕涓篎ile.txt鐨勬枃浠?
out.println(path + "\\File.txt 涓嶅瓨鍦紝宸插緩绔嬨?);//杈撳嚭鐩墠鎵鍦ㄧ殑鐩綍璺緞
}
%>
鐩綍鐨勫緩绔?媯鏌ヤ笌鍒犻櫎
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>鐩綍鐨勫緩绔?媯鏌ヤ笌鍒犻櫎</title>
</head>
<body>
<%
String path=request.getRealPath("");
path=path + "\\Sub";//灝嗚寤虹珛鐨勭洰褰曡礬寰?
File d=new File(path);//寤虹珛浠h〃Sub鐩綍鐨凢ile瀵硅薄錛屽茍寰楀埌瀹冪殑涓涓紩鐢?
if(d.exists()){//媯鏌ub鐩綍鏄惁瀛樺湪
d.delete();
out.println("Sub鐩綍瀛樺湪錛屽凡鍒犻櫎");
}else{
d.mkdir();//寤虹珛Sub鐩綍
out.println("Sub鐩綍涓嶅瓨鍦紝宸插緩绔?);
}
%>
</body>
</html>
濡備綍鍦↗SP涓鐞嗚櫄鎷熺洰褰?/strong>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>JSP涓浣曞鐞嗚櫄鎷熺洰褰?lt;/title>
</head>
<body>
鍙栧緱铏氭嫙鐩綍瀵瑰簲鐨勭鐩樿礬寰?lt;br>
Web绔欑偣涓葷洰褰曠殑浣嶇疆涓?lt;font color=#ff0000><%=request.getRealPath("/")%></font><br>
JSP緗戦〉鎵鍦ㄧ殑鐩綍浣嶇疆<font color=#ff0000><%=request.getRealPath("./")%></font><br>
JSP緗戦〉鎵鍦ㄧ洰褰曚笂涓灞傜洰褰曠殑浣嶇疆<font color=#ff0000><%=request.getRealPath("../")%></font><br>
</body>
</html>
鏂囦歡灞炴х殑鍙栧緱
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.Date,java.io.*"%>
<html>
<head>
<title>鏂囦歡灞炴х殑鍙栧緱</title>
</head>
<body>
<%
String path=request.getRealPath("/");
File f=new File(path,"ReadData.txt");
if(f.exists()){
%>
<%=f.getName()%>鐨勫睘鎬у涓嬶細<br><br>
鏂囦歡闀垮害涓猴細<%=f.length()%>
<%=f.isFile()?"鏄枃浠?:"涓嶆槸鏂囦歡"%><br>
<%=f.isDirectory()?"鏄洰褰?:"涓嶆槸鐩綍"%><br>
<%=f.canRead()?"鍙鍙?:"涓嶅彲璇誨彇"%><br>
<%=f.canWrite()?"鍙啓鍏?:"涓嶅彲鍐欏叆"%><br>
<%=f.isHidden()?"鏄殣钘忔枃浠?:"涓嶆槸闅愯棌鏂囦歡"%><br>
鏂囦歡鐨勬渶鍚庝慨鏀規棩鏈熶負錛?lt;%=new Date(f.lastModified())%><br>
<%
}else{
f.createNewFile();//鍦ㄥ綋鍓嶇洰褰曚笅寤虹珛涓涓悕涓篟eaData.txt鐨勬枃浠?
%>
<%=f.getName()%>鐨勫睘鎬у涓嬶細<br><br>
鏂囦歡闀垮害涓猴細<%=f.length()%>
<%=f.isFile()?"鏄枃浠?:"涓嶆槸鏂囦歡"%><br>
<%=f.isDirectory()?"鏄洰褰?:"涓嶆槸鐩綍"%><br>
<%=f.canRead()?"鍙鍙?:"涓嶅彲璇誨彇"%><br>
<%=f.canWrite()?"鍙啓鍏?:"涓嶅彲鍐欏叆"%><br>
<%=f.isHidden()?"鏄殣钘忔枃浠?:"涓嶆槸闅愯棌鏂囦歡"%><br>
鏂囦歡鐨勬渶鍚庝慨鏀規棩鏈熶負錛?lt;%=new Date(f.lastModified())%><br>
<%
}
%>
</body>
</html>
鍙栧嚭鐩綍涓枃浠剁殑鏂規硶
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>鍙栧嚭鐩綍涓枃浠剁殑鏂規硶--鍒楀嚭鐩綍涓殑鏂囦歡</title>
</head>
<body>
<%
String path=request.getRealPath("/");
File d=new File(path);//寤虹珛褰撳墠鐩綍涓枃浠剁殑File瀵硅薄
File list[]=d.listFiles();//鍙栧緱浠h〃鐩綍涓墍鏈夋枃浠剁殑File瀵硅薄鏁扮粍
out.println("<font color=#ff0000>" + path + "鐩綍涓嬬殑鏂囦歡錛?lt;/font><br>");
for(int i=0;i<list.length;i++){
if(list<I>.isFile()){
out.println(list<I>.getName() + "<br>");
}
}
out.println("<br><font color=#ff0000>" + path + "鐩綍涓嬬殑鐩綍錛?lt;/font><br>");
for(int i=0;i<list.length;i++){
if(list<I>.isDirectory()){
out.println(list<I>.getName() + "<br>");
}
}
%>
</body>
</html>
鍒ゆ柇鏄惁涓虹┖鐧芥枃浠?/strong>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>鍒ゆ柇鏄惁涓虹┖鐧芥枃浠?lt;/title>
</head>
<body>
<%
String path=request.getRealPath("/");
out.println(path);
FileReader fr=new FileReader(path + "\\AtEnd.txt");//寤虹珛FileReader瀵硅薄錛屽茍瀹炰緥鍖栦負fr
//瀵笷ileReader綾葷敓鎴愮殑瀵硅薄浣跨敤read()鏂規硶錛屽彲浠ヤ粠瀛楃嫻佷腑璇誨彇涓嬩竴涓瓧絎︺?
if(fr.read()==-1)//鍒ゆ柇鏄惁宸茶鍒版枃浠剁殑緇撳熬
{
out.print("AtEnd.txt鏂囦歡涓病鏈夋暟鎹?lt;br>");
}else{
out.println("AtEnd.txt鏂囦歡涓湁鏁版嵁");
}
fr.close();
%>
</body>
</html>
璇誨彇鎵鏈夌殑鏂囦歡鏁版嵁
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*,java.lang.*"%>
<html>
<head>
<title>璇誨彇鎵鏈夌殑鏂囦歡鏁版嵁</title>
</head>
<body>
<%
String path=request.getRealPath(".");
FileReader fr=new FileReader(path + "\\ReadData.txt");
//鍏抽敭鍦ㄤ簬璇誨彇榪囩▼涓紝瑕佸垽鏂墍璇誨彇鐨勫瓧絎︽槸鍚﹀凡緇忓埌浜嗘枃浠剁殑鏈熬錛屽茍涓旇繖涓瓧絎︽槸涓嶆槸鏂囦歡涓殑鏂絎︼紝鍗沖垽鏂瀛楃鍊兼槸鍚︿負13銆?
int c=fr.read();//浠庢枃浠朵腑璇誨彇涓涓瓧絎?
//鍒ゆ柇鏄惁宸茶鍒版枃浠剁粨灝?
while(c!=-1){
out.print((char)c);//杈撳嚭璇誨埌鐨勬暟鎹?
c=fr.read();//浠庢枃浠朵腑緇х畫璇誨彇鏁版嵁
if(c==13){//鍒ゆ柇鏄惁涓烘柇琛屽瓧絎?
out.print("<br>");//杈撳嚭鍒嗚鏍囩
fr.skip(1);//鐣ヨ繃涓涓瓧絎?
//c=fr.read();//璇誨彇涓涓瓧絎?
}
}
fr.close();
%>
</body>
</html>
涓琛屼竴琛岃鍙栨暟鎹?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>鏂囦歡璇誨彇</title>
</head>
<body>
<%
String path=request.getRealPath("");//鍙栧緱褰撳墠鐩綍鐨勮礬寰?
FileReader fr=new FileReader(path + "\\file\\inc\\t.txt");//寤虹珛FileReader瀵硅薄錛屽茍瀹炰緥鍖栦負fr
BufferedReader br=new BufferedReader(fr);//寤虹珛BufferedReader瀵硅薄錛屽茍瀹炰緥鍖栦負br
String Line=br.readLine();//浠庢枃浠惰鍙栦竴琛屽瓧絎︿覆
//鍒ゆ柇璇誨彇鍒扮殑瀛楃涓叉槸鍚︿笉涓虹┖
while(Line!=null){
out.println(Line + "<br>");//杈撳嚭浠庢枃浠朵腑璇誨彇鐨勬暟鎹?
Line=br.readLine();//浠庢枃浠朵腑緇х畫璇誨彇涓琛屾暟鎹?
}
br.close();//鍏抽棴BufferedReader瀵硅薄
fr.close();//鍏抽棴鏂囦歡
%>
</body>
</html>
鐣ヨ繃鏂囦歡涓殑瀛楃涓嶈鍙?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>鐣ヨ繃瀛楄妭涓嶈鍙?lt;/title>
</head>
<body>
<%
String path=request.getRealPath(".");
FileReader fr=new FileReader(path + "\\ReadData.txt");
fr.skip(2);//璺寵繃2涓瓧鑺?
int c=fr.read();//璇誨彇涓涓瓧鑺?
while(c!=-1){
out.print((char)c);
c=fr.read();
}
fr.close();
%>
</body>
</html>
灝嗘暟鎹啓鍏ユ枃浠?
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>灝嗘暟鎹啓鍏ユ枃浠?lt;/title>
</head>
<body>
<%
String path=request.getRealPath(".");
FileWriter fw=new FileWriter(path + "\\WriteData.txt");//寤虹珛FileWriter瀵硅薄錛屽茍瀹炰緥鍖杅w
//灝嗗瓧絎︿覆鍐欏叆鏂囦歡
fw.write("澶у濂斤紒");
fw.write("鏈功鏄奐SP緙栫▼鎶宸с?);
fw.write("璇峰澶氭寚鏁欙紒");
fw.write("email:stride@sina.com");
fw.close();
FileReader fr=new FileReader(path + "\\WriteData.txt");
BufferedReader br=new BufferedReader(fr);//寤虹珛BufferedReader瀵硅薄錛屽茍瀹炰緥鍖栦負br
String Line=br.readLine();
//璇誨彇涓琛屾暟鎹?
out.println(Line + "<br>");
br.close();//鍏抽棴BufferedReader瀵硅薄
fr.close();
%>
</body>
</html>
灝嗗啓鍏ユ枃浠剁殑鏁版嵁鍒嗚
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>灝嗗啓鍏ユ枃浠剁殑鏁版嵁鍒嗚</title>
</head>
<body>
<%
String path=request.getRealPath(".");
FileWriter fw=new FileWriter(path + "\\WriteData.txt");
BufferedWriter bw=new BufferedWriter(fw);
bw.write("澶у濂斤紒");
bw.write("鏈功鏄奐SP緙栫▼鎶宸с嬨?);
bw.newLine();//鏂
bw.write("璇峰澶氭寚鏁欙紒");
bw.newLine();//鏂
bw.write("email: stride@sina.com");
bw.flush();//灝嗘暟鎹洿鏂拌嚦鏂囦歡
fw.close();//鍏抽棴鏂囦歡嫻?
out.println("鍐欏叆鏂囦歡鍐呭涓猴細<br>");
FileReader fr=new FileReader(path + "\\WriteData.txt");
BufferedReader br=new BufferedReader(fr);
String Line=br.readLine();//璇誨彇涓琛屾暟鎹?
while(Line!=null){
out.println(Line + "<br>");
Line=br.readLine();
}
fr.close();
%>
</body>
</html>
濡備綍灝嗘暟鎹拷鍔犲啓鍏ュ埌鏂囦歡
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<head>
<title>灝嗗啓鍏ユ枃浠剁殑鏁版嵁鍒嗚</title>
</head>
<body>
<%
String path=request.getRealPath(".");
RandomAccessFile rf=new RandomAccessFile(path + "\\WriteData.txt","rw");//瀹氫箟涓涓被RandomAccessFile鐨勫璞★紝騫跺疄渚嬪寲
rf.seek(rf.length());//灝嗘寚閽堢Щ鍔ㄥ埌鏂囦歡鏈熬
rf.writeBytes("\nAppend a line to the file!");
rf.close();//鍏抽棴鏂囦歡嫻?
out.println("鍐欏叆鏂囦歡鍐呭涓猴細<br>");
FileReader fr=new FileReader(path + "\\WriteData.txt");
BufferedReader br=new BufferedReader(fr);//璇誨彇鏂囦歡鐨凚ufferedRead瀵硅薄
String Line=br.readLine();
while(Line!=null){
out.println(Line + "<br>");
Line=br.readLine();
}
fr.close();//鍏抽棴鏂囦歡
%>
</body>
</html></I></I></I></I>