数学建模社区-数学中国

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

作者: kampoo    时间: 2005-12-30 20:22
标题: [网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>4 g* ]4 X; B0 c2 j7 T
<CENTER><CCID_NOBR>
* G2 ?9 h1 J$ T8 f' A<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
+ p" p: g& x, x( v' t' m
3 R$ Q$ @& w0 i0 a<TR>
( t2 h6 K. b7 h6 ^8 g<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;4 K1 {/ |+ Q! P. L/ p+ L/ Z5 m
&lt;%@ page import="java.io.*" %&gt;6 @7 }7 J- Q! l' ?- ~' M0 J
&lt;%@ page language="java" %&gt;* ^! c8 Z6 ^$ S, h3 c! E! H6 P
&lt;HTML&gt;/ G1 w! S- i+ b1 ~
&lt;HEAD&gt;
# S7 @6 m- f- ?8 N. U&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;8 j' |6 i. d2 b* {
&lt;/HEAD&gt;
- B6 [% d* C5 d# W' ^' Y&lt;BODY&gt;
7 U" D: H! C/ h& Q! e6 c* O&lt;CENTER&gt;% r' I( |- H: l5 T
&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
- @% P& ~; E& v&lt;/CENTER&gt;4 v- d+ W6 |- W) N- B) f  `* n9 r8 c  z" H
&lt;BR&gt;5 M0 t8 K/ g$ \! ^$ J! x1 r6 A
&lt;HR&gt;0 |  z; T; u  J: F* T1 M
&lt;BR&gt;9 u" u9 b/ ^% e7 }
&lt;%
% I; ?! Q- x4 }, U- V: G* s" f7 g//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用. _5 v4 P$ Z$ q$ ^3 V) t- b
String path = request.getRealPath("/jsphosting/wenjian");
7 w, D  _9 @2 I% x$ QFile fileName = new File(path, "File.txt");4 @  {0 S- U  L$ Q
//检查File.txt是否存在
: L, u# z, L' n: G$ Hif(fileName.exists())
3 I2 I) l5 Z) O+ M9 F! u/ }{
7 U6 O* g4 {% A8 I/ m% q5 L$ H//删除File.txt档$ T* b. A( B+ f- W
fileName.delete();! T. u$ r  g4 c- a
//输出目前所在的目录路径/ n; \9 O3 `* T2 P1 x6 A% ]9 Q7 ]
out.println(path + "\File.txt");  X4 N6 ]8 S: n0 m% I! S7 K( |
%&gt;
% Z: u, z& z/ p2 Y6 r&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成
, N: m" @7 j+ K, [8 [2 x2 s5 `&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
% \# y+ |# @! l1 N0 \( k3 s: i&lt;%' ?8 I7 w( [1 Y9 ^* J. F
}
1 I$ |. l( e$ O. }! j6 ?else2 H4 B1 X8 e4 b( i* K- M5 E
{& ]+ R; _3 Z6 q6 \: f  M
//在目前的目录下建立一个名为File.txt的文字档 ; e  g2 _. G2 j0 i
fileName.createNewFile();  b# z# h, T8 ^# F% }" z
//输出目前所在的目录路径
/ q# `8 K' B* ?1 x/ [out.println(path + "\File.txt");3 u2 [* v+ Y4 \3 K6 Z1 B$ d1 ~
%&gt;4 d& @& K7 r4 E# W( x' t
&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成8 F, r5 ?+ V. o9 R
&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;4 ]/ L# j+ e( z! ]
&lt;%8 m8 Y# W0 f) K) ?8 X
}  W. C) F* I) h$ X; O& F; `
%&gt;
0 r; w; S5 e2 g! n5 m&lt;/BODY&gt;
+ P- b9 E/ C; `' J7 m5 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>
2 H! ~0 b) f1 D<CENTER><CCID_NOBR>
! F' \" ^$ W- Q4 F1 p1 r4 A  Y$ A<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>" i; S0 C! e2 O* A

0 Z4 s+ q1 ]/ S9 u4 T" b5 Y6 L<TR>
$ h3 _" Z( f8 p<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;# o; M" F8 |5 }/ H( n8 @3 \  s
&lt;%@ page language="java" %&gt;
( }% d& t3 r$ S$ s  o) r4 I, f4 d&lt;%@ page import="java.io.*" %&gt;/ z1 p; q5 z, E, ?) Z5 m* D. e
&lt;HTML&gt;
; S) ^  W9 M  ~5 F. m7 L* p&lt;HEAD&gt;
4 S  {, a! n( X) _0 w&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;
% l3 d& a% I' ?' j&lt;/HEAD&gt;
3 D4 T# L7 d! c! L3 G; l&lt;BODY&gt;6 c: ~: a3 I& p3 Q0 y: d) d
&lt;CENTER&gt;
' Y% e2 }0 Z& M3 b&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;
8 b! b( D4 v7 d& V( }3 b* Q0 ]6 q&lt;/CENTER&gt;& T8 v) u# T- U8 e- F
&lt;BR&gt;
+ V) h- [$ u7 g3 M* \5 E&lt;HR&gt;
1 t. k, ?! n( d0 C1 {, x6 @  p&lt;BR&gt;
7 |. f+ U& ~  X2 l/ F& @% \&lt;%; B6 M! U" \4 Y$ @2 N
//取得目前目录的磁盘目录: ^8 Q& [2 M, l- v5 P: R
String path = request.getRealPath("/jsphosting/wenjian");
* d  W5 `4 ^$ T: l9 I1 y: a//建立代表目前目录位置的d变量' m; W2 a  C4 n  ?4 a
File d = new File(path);. ]1 `  b7 r& Y% H& `" A
//取得代表目录中所有文件
9 m! q3 D3 ~  y! }, x& {9 o! UFile list[] = d.listFiles();
8 `0 s! |. A0 G( x3 |2 f%&gt;
2 X+ A" c4 H0 e3 _2 D  i6 M在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;; U; X0 b+ y- T4 G4 A
&lt;Font color = blue&gt;
8 a" Z" S6 `; D! r! z0 j5 v&lt;ul&gt;& X8 h# P6 _0 Z4 t: ~( M/ t
&lt;%
# B: ~! M7 U" m0 x+ m* Vfor(int i=0; i &lt; list.length; i++), N+ I" N  ]6 l+ t
{
7 l. `* V/ T- w  _" \%&gt;
5 R5 t1 W) L' Z1 i" ?8 o& q# K# q8 X&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt;
( @1 p! A* Y, e9 p9 ~/ j&lt;%. s, h2 f) F& w2 ?: `, l! D9 d
}
, Q+ R+ j  n: S4 [. M2 n%&gt;
9 n7 b* d4 ~; a! N( v&lt;/ul&gt;6 p& Q8 N" M: }
&lt;/Font&gt;" q' g; e9 L& T$ ~) A
&lt;/BODY&gt;
( J5 L# q& [) J7 C&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>
8 U: k  D# a2 u  x5 Z7 [% k& o<CENTER><CCID_NOBR>
0 c5 Y6 r/ _) X- J<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>5 n: S0 S! ?. A5 l; z1 |5 p
  ^, ?( |, ]7 A$ i( u
<TR>& }+ w# T5 V; X: P
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;* L& o" A% |  @- p- U  _$ P- o
&lt;%@ page language="java" %&gt;
3 E8 u1 D' l. q, J' c&lt;%@ page import="java.io.*" %&gt;
* p+ Y  L+ |5 W7 C) @% o6 d" v9 H&lt;HTML&gt;
( c1 K# h; k/ Y7 |2 d6 @&lt;HEAD&gt;) T7 q  m" k) e. ]' G3 W
&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;
( ?. B4 L$ M! g&lt;/HEAD&gt;
) z( K, \; i( ^&lt;BODY&gt;- b5 ~& \/ X4 p
&lt;CENTER&gt;* \8 A6 R1 {  f( w; C; U8 G
&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;
1 y% k! A5 w. B. L+ }" k7 U&lt;/CENTER&gt;5 T: P8 h, \8 [4 W8 Z% }
&lt;BR&gt;- w2 t1 |% n2 i2 D7 `9 T, Q
&lt;HR&gt;
5 I7 z' f6 G9 ^5 Y! b&lt;BR&gt;& U* k7 f. e& S$ m3 i- n
&lt;%6 {, G, a9 X7 a2 K8 g& T
String path = request.getRealPath("/jsphosting/wenjian");
' E' k) D. j; G0 Q//取得目前目录在伺服端的实际位置5 V8 o) a+ n8 ]1 i# q! w
FileReader fr = new FileReader(path + "\File.txt");
8 ~3 N9 w0 a$ P$ q //建立FileReader变量,并设定由fr变量变数引用' L3 ^' L. |' G' X  X5 Y4 e
int c = fr.read();
5 l  H8 ]$ O5 F. H9 H/ ~' j- K //从文件中读取一个字节
9 T: ?1 W5 J5 K- |( Z9 pwhile(c != -1) ) G  V' g4 p( j) Q
//判断是否已读到文件的结尾6 h3 z; F( p5 U, ~
{
! R* m: c3 g: Nout.print((char)c);
) l8 W# V, A% f' t//输出读取到的数据
( I2 E. }2 Q6 e( D  Yc = fr.read();
5 u& ?" ^& T; @: U//从文件中读取数据, [' E, m8 }: E. G$ |: q% d
if(c == 13) 3 W( U3 p6 k0 H; r9 V
//判断是否为断行字节7 M1 |4 a' |$ ]9 O
{3 ?* F* t- }2 t8 @! ^* Q5 {
out.print("&lt;BR&gt;");
( U! {  o+ h" ~9 k% r& b, t2 ?' R //输出分行标签
/ y8 O& N/ n) n! ^" w( Ffr.skip(1);
6 K" ^3 H; N3 T/ i/ Q//略过一个字节2 t( Q& ]( \& k, T
c = fr.read();
+ b3 M1 y* }* I4 i+ A//读取一个字节$ h6 X5 r& z/ K! C% e! t
}
& B- J' j4 |: X}! k9 \7 V% G, m1 \
//关闭文件
% J* e" @+ k- t2 bfr.close();
% `1 M7 A6 a' i& Q& _; F%&gt;
5 f+ F3 @' W1 |+ h. `2 e2 p&lt;/BODY&gt;
+ u$ m( ?8 N' y* p&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>
% V' i9 S$ Q/ \# Z; D' f<CENTER><CCID_NOBR>2 V$ c" [# a( b; C4 i1 k8 A4 C5 _/ q6 p+ O
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
& c3 C* r1 c( s# R7 N  K. {! i/ p3 {9 k
<TR>
1 R, X& h9 G% X+ q) ?4 y: C2 H<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
9 w( o& y0 a: }&lt;%@ page language="java" %&gt;& r* E8 a+ d* i/ y" p: B
&lt;%@ page import="java.io.*" %&gt;
# w4 H4 M( i3 ]# B&lt;HTML&gt;" h6 R! }% }1 h: e$ h0 E2 f' C
&lt;HEAD&gt;
1 z% ~; A0 c+ c: L* A&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;. u! b8 U, F; Q2 x: g6 {$ U; O
&lt;/HEAD&gt;
7 r/ r- W8 R# l# U  p&lt;BODY&gt;
8 X( I; l, ]) ^: y; z$ M2 I" a&lt;CENTER&gt;) l5 k+ }5 m: C/ N( I9 d
&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;
- s  \8 D# ?9 a  z1 {# y3 d&lt;/CENTER&gt;' o, b/ ]( w' |8 v* N8 M
&lt;BR&gt;* e0 g% u: Y, C  P1 k3 K' U  h
&lt;HR&gt;1 O: J2 m7 N0 S+ h
&lt;BR&gt;2 U5 B3 |5 P& v5 J3 x1 ?
&lt;%
% S0 N8 d6 j' H* J& x. tString path = request.getRealPath("/jsphosting/wenjian"); + J& b# R5 M" X! m$ O
//取得目前目录在伺服端的实际位置
6 y2 J1 t9 l2 |FileWriter fw = new FileWriter(path + "\File.txt"); + f' Y% q  X; H  h0 j- t# k, ~" d
//建立FileWrite对象,并设定由fw对象变量引用+ y* J" O7 N, V; ~+ H
//将字串写入文件
) Z. C7 x% {$ G2 ]fw.write("大家好!");! N0 J: R& I! E4 V, ^
fw.write("祝大家学习jsp愉快!");
6 H: [5 J! P, W/ k; w% `7 xfw.write("希望大家能够深入了解jsp技术!");
+ }/ M7 o5 @5 S$ bfw.close();
: D2 |5 K3 O' g( U5 z9 D2 J  k8 n3 R/ K4 `//关闭文件2 C, y9 ?* m" T3 x  ?0 X: {
%&gt;/ s( z  B. @+ D# ^3 |5 n3 h
&lt&gt;写入文件内容为&lt;/P&gt;
# f5 U0 s3 _/ d! O( ^  o&lt;FONT SIZE = 4 COLOR = red&gt;
. D1 @, ^  {1 z1 V5 W9 n% q, P&lt;%
# [8 s. r9 S2 t  n, z8 S1 zFileReader fr = new FileReader(path + "\File.txt");
0 l0 U3 D$ s1 ?# W  t) L//建立FileReader对象,并设定由fr对象变量引用6 X$ S4 N- v5 @% _* K1 a
BufferedReader br = new BufferedReader(fr); & s$ `( u5 x) _3 J
//建立BufferedReader对象,并设定由br对象变量引用2 K- U* i' I! @
String Line = br.readLine();   y  r( j; h. _* ]+ O
//读取一行数据! U% u+ q$ J5 Q( ?7 f2 o) U
out.println(Line + "&lt;BR&gt;"); , D$ E) ~, Q4 J0 S
//输出读取得的数据
& d4 X3 Q$ ?8 N. v) \' E9 R9 gbr.close();# Q; k- K5 k0 S7 X! F& ?
//关闭BufferedReader对象4 o2 v* q0 W& `8 K
fr.close();! I( e. o5 H! l# M3 @, @$ _9 @, _
//关闭文件
; j9 _# T; V+ M9 [1 `%&gt;; R. h1 X/ X- U: I5 o; \
&lt;/FONT&gt;
% {4 {8 W$ W# k1 R& K1 Q2 h&lt;/BODY&gt;- ?+ ?3 }7 u, a# b) a: A; O9 P" S0 N
&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