数学建模社区-数学中国

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

作者: kampoo    时间: 2005-12-30 20:22
标题: [网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>
! ]3 S3 ^9 e( @1 l! j<CENTER><CCID_NOBR>
. c' h# U  T; k# X& `+ B6 [<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
, f0 D9 ~6 I0 e( C3 a) j+ G) L: {8 z; w) X& F
<TR>& K4 J* C  u/ ]
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;$ o' s) C) \& e% i
&lt;%@ page import="java.io.*" %&gt;# L% ?! B/ o/ A; R! C
&lt;%@ page language="java" %&gt;
6 @4 F! l3 m$ ~/ I&lt;HTML&gt;
' t  a; l$ a( y&lt;HEAD&gt;
/ A! m6 @) x# Z' I7 `# q* H&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;4 J: h% \; v$ E
&lt;/HEAD&gt;
: _$ O' Q0 ~# N; y&lt;BODY&gt;
2 z7 Z# M6 m1 \' \2 O( {7 y&lt;CENTER&gt;
+ }. h2 N! ?$ E: Q# \&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;. }4 {0 f" n7 @! `. [$ b
&lt;/CENTER&gt;
! \9 V; u% X" {; r9 d+ C8 C&lt;BR&gt;
/ L" s4 s7 R( p' I&lt;HR&gt;
' ]) i; c& s5 s&lt;BR&gt;, O! |2 a2 ?; x. K1 Y3 ]( I
&lt;%$ i8 V" ?- f2 q  }* a( M4 s
//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用
; @0 S4 c$ c) ?String path = request.getRealPath("/jsphosting/wenjian");
+ U* U' ~# X! J0 kFile fileName = new File(path, "File.txt");. B5 V8 t7 b6 G& H) K* _! U
//检查File.txt是否存在* L& i$ V+ X, i- c0 x% Z% a
if(fileName.exists())
- D2 Q: s# \; M% Z{
: I" |3 B; D$ M$ q$ m7 f4 x: Y//删除File.txt档. A3 w' z- d  S, r# P: d# f
fileName.delete();
7 C  S1 N$ G6 {) r; b! v//输出目前所在的目录路径8 D( R% J5 S1 z
out.println(path + "\File.txt");1 T; z0 q8 A4 @% T7 j! i
%&gt;
9 W  G; N% I& C& ?" H&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成
( U. ]7 K2 e1 P0 N- T&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
- y: m) ?  V/ g/ r- z&lt;%
4 J* t5 ^6 a, m& C4 h5 k" F}
$ O1 o: S+ g* W2 A2 ]& A1 d# }else7 C; A1 ]( q/ k$ d$ S
{- c9 W  k' K$ U/ S; L' |
//在目前的目录下建立一个名为File.txt的文字档 " W3 C! B9 z5 L
fileName.createNewFile();
0 U$ T: g; W9 h# A8 N//输出目前所在的目录路径
$ x3 E- G, c0 I8 vout.println(path + "\File.txt");
5 o0 P' Z# r1 I" Z" X2 K7 O- [%&gt;% I3 O9 @) L, o2 V  D
&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成% R  `# v  V9 s. i5 c& k
&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;+ K5 A4 n1 z/ H5 h& }
&lt;%. w( @" Z! L/ y) f
}
. P. p( O9 I4 G8 S: U1 {%&gt;$ W$ m) |3 L* `" C% h) j
&lt;/BODY&gt;
5 b% [: ^$ X  G* Q# S$ |&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>
  A+ q" b) `: ^5 \7 o' y<CENTER><CCID_NOBR>: K3 g' F) o- I# w
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
+ P1 E3 N3 t4 J7 F% R5 w
% g. o' W# N3 z- T3 j. a& S! Z<TR>4 x  |  i2 B  {8 k
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
9 ]8 W$ k8 s6 e&lt;%@ page language="java" %&gt;% E% i0 x8 s3 H6 r& C, ~. A
&lt;%@ page import="java.io.*" %&gt;  X7 L0 N3 c1 k: Z, t
&lt;HTML&gt;
) x1 H2 m: }, W4 Q- x( M1 R1 W&lt;HEAD&gt;6 j* [2 w# X3 l2 L* @+ o5 J6 B
&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;
6 M/ h- }9 `% ~7 A&lt;/HEAD&gt;
, b% F/ c+ P  i8 I* }0 H; ?&lt;BODY&gt;
8 X* @; g8 F& X# ?# z&lt;CENTER&gt;
" H1 B) H" v" P; E- w5 f&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;
/ G5 T& c5 y; w6 F( P; Y&lt;/CENTER&gt;
9 N4 A* g9 q( G4 b% o" s# L&lt;BR&gt;
. f/ `/ k) l+ _+ a&lt;HR&gt;
4 x9 M7 |" L( U3 E; x0 P' q' H) d&lt;BR&gt;2 k+ |/ I- i" ~4 ?$ h/ W
&lt;%& t! H: w6 u5 f0 L1 p. i( B4 v1 |( e
//取得目前目录的磁盘目录) M6 \& M; P9 C' J4 ]! }. @
String path = request.getRealPath("/jsphosting/wenjian");
. K( o4 W  q# Z" n/ I! ]2 x: X//建立代表目前目录位置的d变量% m$ t5 H3 [0 I) q  k, z( X9 ~
File d = new File(path);; Y$ K/ E" h1 F+ q8 r& I
//取得代表目录中所有文件) \1 p% V5 y+ z$ M/ o( J, I+ `
File list[] = d.listFiles();% J% X$ m  z* X6 d
%&gt;
! l) t3 K  Q9 x% H  f% u5 g+ y在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;2 z2 z, _) W3 z+ y' I
&lt;Font color = blue&gt;) E: t& i7 B7 ?' R! `7 z& I" g
&lt;ul&gt;* E- u' r2 ]. m
&lt;%: p0 a# I1 c& l0 ^$ R
for(int i=0; i &lt; list.length; i++). h9 o+ g# @# V  M  L
{
- c& H& t* @9 ^%&gt;  }" @/ h& S7 V6 I$ m6 E, O9 C
&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt; 2 p9 \2 j2 C# h4 G
&lt;%
7 ]; @) _% N, m! Y}
, T7 {( n' X6 p%&gt;
' @: ]1 [) }; m  h& X&lt;/ul&gt;
' {* `* P8 M$ {2 R/ M  b" U&lt;/Font&gt;
$ ^" [/ E) X4 Y0 W7 G" H6 ]: n+ M9 f&lt;/BODY&gt;" h: ?5 r6 J8 S: h+ n6 T5 P- e
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>2 y4 x3 t4 Z9 |( c
<CENTER><CCID_NOBR>
- l9 g" h% e, w3 L<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
. H+ D  _0 C- C' t# g7 l* m
, v) w/ k6 Y- ~3 z<TR>( b3 \4 \! x  y! q# f0 t
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;1 T2 x4 @- ?$ b" U
&lt;%@ page language="java" %&gt;0 A* q* r8 u3 r+ o# i8 h2 B
&lt;%@ page import="java.io.*" %&gt;6 d! c+ \* x3 O' m3 [/ Q* J) Y
&lt;HTML&gt;
6 R. Y  o/ I# V+ v- p2 J&lt;HEAD&gt;
. U6 o; t9 Q3 c/ h4 I3 c1 F&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;
6 W2 e6 T% \+ A3 P1 V/ F" M$ Q&lt;/HEAD&gt;
7 j+ l- t" r% o# G# r&lt;BODY&gt;' L# S1 r1 V1 g2 {4 o
&lt;CENTER&gt;
: h: t- {9 a# _# m+ M&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;
. Y- B4 r# p1 j. _- M7 o&lt;/CENTER&gt;
" f: y6 j# X  U6 A$ ^  m# i1 F' X& L&lt;BR&gt;' n; Q0 i' y5 L' L
&lt;HR&gt;
& n% i% T9 D! y" M% C% U5 A! I&lt;BR&gt;0 c2 z  M% Q4 F) q
&lt;%
+ f. r( B- s% m' e1 X3 ~String path = request.getRealPath("/jsphosting/wenjian"); . p' l+ T% W8 n( l: H  T  Y9 u0 i
//取得目前目录在伺服端的实际位置
) [. g! b2 h* G1 P  G0 uFileReader fr = new FileReader(path + "\File.txt");
* S1 ?  H) |+ ^" @$ L //建立FileReader变量,并设定由fr变量变数引用' a6 K+ W: V2 V; g3 }
int c = fr.read();
9 d) R& [7 Y. \: y: K //从文件中读取一个字节6 ~' x9 Y7 O' n& E
while(c != -1)
; o! J6 T, ~% G* ~//判断是否已读到文件的结尾% O8 e, R7 p7 e0 H5 n
{! J6 v( [' G0 B9 Q0 V3 L
out.print((char)c);
$ h: v( p0 Z/ J. `//输出读取到的数据
5 K) V. {! M( W% {4 \5 ]' Kc = fr.read(); ( l2 V$ r5 P7 {
//从文件中读取数据
4 b9 U; h* h, Hif(c == 13)
& a7 g! l+ n. W" [3 y//判断是否为断行字节" x4 O( K" L5 a5 ~' I7 X# i
{
9 a6 Z3 g$ u& @% I& ]/ eout.print("&lt;BR&gt;");* h4 w5 F, s+ X- G2 ^7 L
//输出分行标签6 K8 `  [0 }1 i7 S7 ~  h5 K
fr.skip(1);
  d$ Y, o) G9 b//略过一个字节
- _: w( F9 K1 M- D" R; F/ Kc = fr.read(); 7 h5 [! G7 {9 o/ @( K% B
//读取一个字节
" K+ d4 F5 p1 |1 N# o4 z/ r# C}' M% Z( l. ?3 j: r: q& }) g
}
  g; @) A4 w3 w; M8 l# E' n//关闭文件* q- F  l8 j$ O  Q; G/ x
fr.close();
" K1 N, @4 B" r/ B%&gt;  U8 P: g" o) r) Y* U. ~
&lt;/BODY&gt;% p: o! m; p% m$ L
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>( O* ?$ _. @1 s0 x) w
<CENTER><CCID_NOBR>
  r( L' `5 o: D% g9 F6 N' J, _<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
* _* W8 ~  |# o2 @7 l0 Q( ]8 m
) K7 ?( y0 N8 w' f4 Z<TR>& R% r1 y' w2 N
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;& F0 ?6 L% Z8 ^" t! I
&lt;%@ page language="java" %&gt;
1 v( T3 w8 C! J) _7 m( k&lt;%@ page import="java.io.*" %&gt;
$ c5 ~; M3 x" F. R) }; T&lt;HTML&gt;
; j! L9 B) F- W&lt;HEAD&gt;* x  w; U" ^. K
&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;
  J* D% [' Y& u% k4 `- v&lt;/HEAD&gt;- v! l3 b1 m, r7 H7 S; [' |
&lt;BODY&gt;2 V$ m( E; b2 g# r  _1 w
&lt;CENTER&gt;
0 g/ M; q) J: V&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;
- S% t- k  t) R&lt;/CENTER&gt;+ n& N9 w# [/ S* ], \9 [) u
&lt;BR&gt;
) ^! Q4 [7 M  `&lt;HR&gt;1 W9 y4 w/ F# G
&lt;BR&gt;
3 p, h( t& F+ f/ h. j&lt;%
% i9 Z" e5 H. e7 XString path = request.getRealPath("/jsphosting/wenjian");
5 P+ N5 t# U: ~& D3 N//取得目前目录在伺服端的实际位置+ J7 m. u( \- ^: Z: ?/ P
FileWriter fw = new FileWriter(path + "\File.txt"); / F5 R' Y6 F5 ~0 Z; G
//建立FileWrite对象,并设定由fw对象变量引用8 d/ O% k( C" t$ v# X' }1 |
//将字串写入文件
! T% g" w/ H5 @fw.write("大家好!");
$ U% A7 I4 g4 e  {- Z% qfw.write("祝大家学习jsp愉快!");
( j) Z, t% A8 c' L+ Ifw.write("希望大家能够深入了解jsp技术!");8 W) x$ S; k; m3 M# |) H
fw.close(); 4 N  d( X; ]' p. k( n) \$ p# D
//关闭文件) q& Q! l4 n( c, v
%&gt;' W( R/ ?+ k% ]* N
&lt&gt;写入文件内容为&lt;/P&gt;5 _1 M$ L% E0 G0 b1 y
&lt;FONT SIZE = 4 COLOR = red&gt;
  p; {# n+ Y0 _! R1 g&lt;%
) A8 K! x3 e0 N2 D" \9 zFileReader fr = new FileReader(path + "\File.txt");
1 }# B% a5 h/ Z) u2 m//建立FileReader对象,并设定由fr对象变量引用
  l& _9 w& X$ KBufferedReader br = new BufferedReader(fr); & z0 U' ~+ R& T; ^
//建立BufferedReader对象,并设定由br对象变量引用  o# [9 r  p0 y' `, Y
String Line = br.readLine();
  u( r# Q1 k& w0 P//读取一行数据
( E. _8 ^" `: uout.println(Line + "&lt;BR&gt;"); 3 o$ _7 O, k$ v1 X, h* a
//输出读取得的数据" ]! ^9 r$ K/ W' c
br.close();
8 p5 v9 B' s% i0 r; z. u //关闭BufferedReader对象
+ L" C4 h+ p4 f$ ^fr.close();
# h3 b0 t. |: e; S* |/ H: W2 t //关闭文件
2 ?& `, B# {& N' t( l%&gt;) e! B/ N! [7 b7 c2 g
&lt;/FONT&gt;
0 g& Q) a: m" u8 p  v&lt;/BODY&gt;9 L# ^$ T- J, v1 K+ t
&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