数学建模社区-数学中国

标题: [网摘]Java加油站:讲解文件的建立与删除 [打印本页]

作者: kampoo    时间: 2005-12-30 20:22
标题: [网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>9 {) h' E7 J6 D8 A0 H8 S
<CENTER><CCID_NOBR>+ w& [2 \6 `8 X8 V
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>) V5 v# O' e* Y- G3 }
0 y  l& v; P& j- {# g
<TR>
) f& u* N  c! q. M2 v<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;! K5 D6 ?0 ]0 ]+ ]6 |
&lt;%@ page import="java.io.*" %&gt;6 D6 Q. F# E' P' v, c2 G8 U: i
&lt;%@ page language="java" %&gt;" j7 u2 N  f. v# F+ J
&lt;HTML&gt;: k6 a; j  H' |2 E6 I/ [
&lt;HEAD&gt;
4 U, y9 W" h7 z- W. p8 }& D&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;
& t. ^: o( W. o2 ?$ `* ]5 p&lt;/HEAD&gt;. H6 s2 M$ a+ s/ H# q
&lt;BODY&gt;
. H+ R! w1 K  p& X&lt;CENTER&gt;% r/ c8 p, O" @: ~7 l+ j% G. E
&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
* {) y( E: X, s3 a" U&lt;/CENTER&gt;
/ y* ~/ [# [2 x% c&lt;BR&gt;9 O: R5 Q! m2 r8 P1 @
&lt;HR&gt;
0 m8 f( X8 ]5 S2 j9 U6 x&lt;BR&gt;
! N4 C3 _! v3 w- z  V: q- h' F. f&lt;%
4 e* E  y, x+ K3 i$ @//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用, P& g; M) ^, x7 o% U7 \8 Y' I
String path = request.getRealPath("/jsphosting/wenjian");" w5 U/ R  }7 ]+ Q; x
File fileName = new File(path, "File.txt");# V$ M5 o1 Q0 N1 \
//检查File.txt是否存在
6 B  _3 |. w( O) k# {/ F7 k% ?; m) ~if(fileName.exists())
( @1 k- ]3 K) \: ~{2 U6 _! ]% B$ a; S
//删除File.txt档
% _/ E  x# S# u; ^# j" ffileName.delete();1 d0 E* U' k; O1 K* y
//输出目前所在的目录路径
; _5 h2 d0 Q! I2 Xout.println(path + "\File.txt");) f3 X' ?7 @' i. }
%&gt;
5 q" v! L. x0 g. g&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成; p9 _2 P" k! b
&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
% n/ i$ q. q( ]0 s; C&lt;%
" N) N: {9 A2 \5 ?}3 y, h1 n- ^- E: ^- a
else" ?9 _9 |+ K, ~  d7 G8 @% m
{
! a; N5 `* a1 \//在目前的目录下建立一个名为File.txt的文字档 $ b3 u- A4 m' P' E1 Q' N  ~2 s
fileName.createNewFile();+ F% p* ?2 J7 n! N$ [" |
//输出目前所在的目录路径
1 Q- W) H- F- s( d, B1 Tout.println(path + "\File.txt");
- X6 F4 F& ]! y$ R; p# u%&gt;
; m' u* o$ F$ W4 K&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成! M/ @. A8 z, ^) d
&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;8 j: x2 \. ^& {& E' _7 D& I
&lt;%
2 t, P6 C* {( X0 Z: Y/ n4 H$ T2 r}) d  e8 L$ |5 g$ B6 X4 v  D
%&gt;/ J. r: }2 Q5 R5 I
&lt;/BODY&gt;! U7 q9 Q9 B" H" M
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>显示目录中的文件 <BR><BR>首先建立要显示的目录的FILE对象,然后调用LISTFILES方法,该方法返回一个FILE对象数组,显示数组中的所有元素即可。 <BR><BR>ListFile.jsp <BR><BR>4 T( t% T8 d% i
<CENTER><CCID_NOBR>: H+ q) }( Z2 I: ?
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
5 M) i/ U1 c* V) H
- w9 I5 {4 }6 Q' Y- X- ?<TR>, f( P/ d! z& t# Y) s3 F; y7 f
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
# [1 Z; W5 Y% V+ J&lt;%@ page language="java" %&gt;" K  T$ b$ o# W
&lt;%@ page import="java.io.*" %&gt;
/ S  ^7 m' l/ g. r# S7 x- O6 ^&lt;HTML&gt;
  g4 ?2 G- B$ g&lt;HEAD&gt;
5 A+ y: X0 l7 P5 D8 @0 w& q" w4 f&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;
& x% n( b7 Q0 q4 Y&lt;/HEAD&gt;
6 u7 S: c! W2 o0 o) H2 Z&lt;BODY&gt;
% e' X( C7 i  O7 J/ p; {&lt;CENTER&gt;; j& x; R, p* H2 A( P# h  Z2 a% j
&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;# }# s4 U3 y+ E% W. O/ ?& k- l! g
&lt;/CENTER&gt;
) G, f0 Z7 q1 v3 _2 s&lt;BR&gt;
1 b. \* B  v! O4 K+ Z4 @9 |&lt;HR&gt;. ?' r: E6 \+ X& \& n: d5 O
&lt;BR&gt;
3 ~: u& }7 Y' X, O6 D  ?" g&lt;%7 \; C9 o6 o/ o2 }: |! I
//取得目前目录的磁盘目录
: S/ {! V" [7 `. B$ A8 t2 c& @2 A! Y5 tString path = request.getRealPath("/jsphosting/wenjian");# }# w& y( b+ J; [7 N6 ]; I
//建立代表目前目录位置的d变量
6 b/ ~3 Q% l0 `7 Q( NFile d = new File(path);$ N7 q: F5 \$ Z- k- ~$ A
//取得代表目录中所有文件$ D0 a& s9 [" C4 g6 ?: F6 z/ b. w3 c
File list[] = d.listFiles();) [: {! z. k1 _6 Q+ \) A4 F- O+ l
%&gt;' i, K5 ?5 L7 \/ ?2 m: R& B* i6 N  J
在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;' n2 }8 S. n& s, C& X/ @3 e, R
&lt;Font color = blue&gt;
$ y8 O/ C) Q1 [; P% g&lt;ul&gt;" S$ z3 ~( D+ a, o( s  z2 @
&lt;%
4 ?' O1 y8 S! k, z) Y/ Z5 wfor(int i=0; i &lt; list.length; i++)
# w0 L! j* q- J% Z/ `3 Y{
6 d3 q7 |8 J1 j8 S7 h8 T; d%&gt;
, X6 r8 s$ e  ?# M1 O  Q&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt; 8 X7 d( ^5 z3 y0 x8 A1 d$ z
&lt;%
+ v1 ?4 j9 l. }, n+ r}/ @' N8 n. U1 K
%&gt;8 N. ^( X! T" }: {, S) Y5 c
&lt;/ul&gt;
& c1 q( e: u0 `! Z3 h/ ]9 ^& x&lt;/Font&gt;
$ h8 l: E' l) e' I4 B&lt;/BODY&gt;
; W/ U! Z( H+ S+ U% @: F; ?&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>: C6 _/ m8 l! s& D
<CENTER><CCID_NOBR>2 F7 ~; K' u% U8 j+ R0 b
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
% K1 F# j8 a5 x/ m; K6 L4 Z" K* Y
. {; P6 P* _3 o2 a1 ?<TR>/ @# P* |, _, f; H% O$ `
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;& w# u7 B, N- j) v
&lt;%@ page language="java" %&gt;( Q- ]4 k5 [5 `1 f( P. _
&lt;%@ page import="java.io.*" %&gt;% F: A1 ?; ~2 m* C/ e
&lt;HTML&gt;" L0 t: |2 [% J. T) z+ H
&lt;HEAD&gt;( ~. o, G; [& t- A7 d
&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;
8 t; w2 B) C* E6 \9 T' B* I&lt;/HEAD&gt;7 X% R( j( d/ u. E
&lt;BODY&gt;
# z9 a" s; c3 V&lt;CENTER&gt;
, n9 F; ?$ g; N' Q: I&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;
% ~$ |  Z' Q; K/ |. ^% l&lt;/CENTER&gt;) e2 }. L7 s! J- {' @* m: C7 |
&lt;BR&gt;
; F- n( s9 I7 e0 f&lt;HR&gt;- d/ U) N$ @" t7 O& i) U3 H
&lt;BR&gt;
4 |" s" r9 ?) A. z  U. ~& ]&lt;%
  w6 G9 t- B  P2 d. h; \. D5 AString path = request.getRealPath("/jsphosting/wenjian");
" V$ }9 J+ W* R3 _//取得目前目录在伺服端的实际位置1 _# Z, x# R, ~/ x, O* _
FileReader fr = new FileReader(path + "\File.txt");
# b1 ]: C, _6 B% \+ C* ^ //建立FileReader变量,并设定由fr变量变数引用
' C8 Z% I3 F3 ?1 Q: Pint c = fr.read();
: h/ A& l1 e' R //从文件中读取一个字节
! j4 y# U9 c6 C2 lwhile(c != -1)
) L2 e2 G+ E* m1 [+ S4 K6 Y//判断是否已读到文件的结尾
/ L) O: m9 Z/ B8 c7 U! V{. P  P. I1 ]! w+ Z/ p. g
out.print((char)c); 8 |2 [3 \3 ?, C
//输出读取到的数据 1 i0 T  @0 T7 W' u
c = fr.read(); 9 J: Z: d. m% `
//从文件中读取数据
( k- [& N/ a4 n3 B, I( d9 cif(c == 13)
$ j7 a# E) o/ Y//判断是否为断行字节
7 n+ K3 b6 x3 t& a" t, H7 d{- v1 W& P, P. g: ]* h8 F: w: b# u
out.print("&lt;BR&gt;");
% k5 o% `  J! E$ ^. i# _! B) r //输出分行标签0 v2 M9 C) g- x% ~! c% r: F# b
fr.skip(1); ) ~, r: w" O: t0 m
//略过一个字节  J! C% E$ o& W# N) A8 l8 u, J5 P
c = fr.read();
! O+ b* J. V8 B' H4 o4 H//读取一个字节6 ^8 {6 H: r( T2 L, f3 b4 ]3 D
}
6 i" O" t9 G# U8 p" |: o" w}  ^2 S2 w; W* s4 M7 B
//关闭文件
* V! P+ n7 I8 U+ ?8 ?( Mfr.close();
; K8 R& @. U1 x" |& S$ v' o6 e%&gt;
1 ]/ o0 v" J- O; P5 f/ {. n7 f$ c&lt;/BODY&gt;9 b+ v! ]( f4 a7 z* j7 f3 p+ m* I
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>; e; y, S% o0 W
<CENTER><CCID_NOBR>) @. M6 D; W3 J5 S
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>& q2 s, r* w8 V. `2 s2 S% |6 O

; d. O0 ]+ r7 k<TR>* @2 Q$ i% O9 X6 H5 Z: X
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;1 Z) G! E8 A. ?: P3 _
&lt;%@ page language="java" %&gt;
) x1 {7 _6 Z* A&lt;%@ page import="java.io.*" %&gt;4 P! I: v. y5 I/ w  ]* i
&lt;HTML&gt;
; R7 {& g3 S& a; E5 {% F8 j&lt;HEAD&gt;
+ t3 W* z3 W6 m&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;
7 t  h1 @% f( A1 a8 v&lt;/HEAD&gt;
. c, g* d5 U. k1 I  P% Z1 Z8 Q&lt;BODY&gt;5 i# v3 V+ `/ J& p9 L, u
&lt;CENTER&gt;
7 K5 P) f5 w/ O. M( `: }) u&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;
' x$ H! d% S( C* A+ v0 i&lt;/CENTER&gt;8 |& [. @. K5 y# I
&lt;BR&gt;
4 h' c- w4 y" H$ m5 Y&lt;HR&gt;) P  e5 W. x- h
&lt;BR&gt;
) h: Q6 ?2 ]( g&lt;%7 w# h0 b& g) s5 S! B& x8 ]
String path = request.getRealPath("/jsphosting/wenjian");
# W* p/ _( F: o+ u# u//取得目前目录在伺服端的实际位置
) x% O& m6 z6 F% r1 W, S$ `* CFileWriter fw = new FileWriter(path + "\File.txt");
" w5 M/ I+ Y- S0 Q; S//建立FileWrite对象,并设定由fw对象变量引用
' |" r/ ]: w* a& S1 P( T//将字串写入文件+ ~% v5 ]6 V5 O0 x
fw.write("大家好!");% ]: i7 H& x! k4 V6 J& {/ c: n5 H- N
fw.write("祝大家学习jsp愉快!");- i" G: h- N7 K' P
fw.write("希望大家能够深入了解jsp技术!");& l6 R  u( p! a& n, l5 J& b+ A  e7 W
fw.close(); ( v5 T% h9 [0 Y3 e; R8 P
//关闭文件
* ?+ f% x4 ]* {%&gt;
) j. i4 \8 F) u# E0 E- y&lt&gt;写入文件内容为&lt;/P&gt;4 e' Q0 H! _* }+ {* Q
&lt;FONT SIZE = 4 COLOR = red&gt;7 m: E9 d8 }$ Y+ x( P8 T2 s. f# ]
&lt;%, q& }: Z& z" }' }' b
FileReader fr = new FileReader(path + "\File.txt");
$ h3 D5 T0 R) p7 I/ _//建立FileReader对象,并设定由fr对象变量引用
& ?$ }2 q$ ~2 A& E% e6 R6 `BufferedReader br = new BufferedReader(fr); % w+ r2 o* l, u
//建立BufferedReader对象,并设定由br对象变量引用
9 V! t3 e0 V, P1 ~8 e% ^String Line = br.readLine();
; d" D3 c! m- E2 R! b. V9 F: o//读取一行数据
2 N" M! ~! J) Gout.println(Line + "&lt;BR&gt;");
: V# a# V+ ]7 p//输出读取得的数据1 g7 G) d& A& q/ ]* f5 T- ]
br.close();
8 {, T, V2 K  i9 g! ?9 O5 } //关闭BufferedReader对象  ]7 v2 M7 P: v8 A7 o
fr.close();
, _+ q6 M! N8 T" ~ //关闭文件
, [! l8 N7 k' _+ k%&gt;8 h* f+ A1 c8 ~- S
&lt;/FONT&gt;8 k, W6 D  Y4 w4 \
&lt;/BODY&gt;
6 t+ q5 F$ q( `8 a, s9 s&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CENTER></DIV><BR><BR>转载自: <a href="http://www.itzero.net/Article/learner/2005_10/3379.html" target="_blank" >http://www.itzero.net/Article/learner/2005_10/3379.html</A><BR>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5