QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4023|回复: 0
打印 上一主题 下一主题

[网摘]Java加油站:讲解文件的建立与删除

[复制链接]
字体大小: 正常 放大
kampoo        

85

主题

2

听众

400

积分

升级  33.33%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-12-30 20:22 |只看该作者 |正序浏览
|招呼Ta 关注Ta
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>, R; E1 Z& x6 B# K6 H  V
<CENTER><CCID_NOBR>" f9 ^( ]: \- q2 L6 Z
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>/ @# p+ M- }9 d6 i1 o- D
" ^  X( [( b& ^2 @
<TR>3 N9 O3 S! t0 B: ~1 Y
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;% \  L1 v9 E# x$ F/ K, L) ^
&lt;%@ page import="java.io.*" %&gt;
* x- @  u" X7 q& f) f( k&lt;%@ page language="java" %&gt;) Q+ I) @, n/ Q8 j2 Z( F' |1 V
&lt;HTML&gt;% X5 n0 A4 F/ z# ~' w# V: d) e
&lt;HEAD&gt;
: ^+ T% t' S( Q4 q7 [( ]9 M! K&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;
, n( z3 g2 E% [, J7 Z, R&lt;/HEAD&gt;
. M* ?( U& u; |+ T6 D1 W# D$ g&lt;BODY&gt;
. `" ^( m1 M& l7 |# j% H* E! [&lt;CENTER&gt;5 c/ f1 f# W1 O  N1 R  b0 _
&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
4 Y, p5 J7 i1 E% S/ N# R  ~&lt;/CENTER&gt;
* h; D3 I) @  J4 |&lt;BR&gt;1 P. s; a, b' Y& L" V
&lt;HR&gt;) O$ X5 H8 n5 j+ K4 J# y
&lt;BR&gt;
8 i$ x0 Q' V  E$ |+ `9 f&lt;%
+ R& ?' I$ n5 o$ T//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用
2 c- ?7 g+ m" g, H. @" ^1 OString path = request.getRealPath("/jsphosting/wenjian");
8 X# g# Q: Q2 I, T0 q5 jFile fileName = new File(path, "File.txt");0 b5 C! G8 V3 N8 c9 T
//检查File.txt是否存在3 c8 g5 o0 q* L0 Y% l; L( u: X4 q
if(fileName.exists())% q+ `/ I3 w$ Y! N  O
{
3 n8 P2 b+ o) l) ]' [, c//删除File.txt档5 s- w; c" Q# f% r
fileName.delete();
3 p( o) f/ H4 o( l/ e, Q1 S* F//输出目前所在的目录路径% g: q/ v. j2 [. F$ a
out.println(path + "\File.txt");6 o( p3 J/ H7 x
%&gt;
$ p2 m# Q/ i& w" ]0 C( p&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成3 l. N: S8 a  B, ^5 M; l
&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
9 ]. U1 i6 o3 }  q&lt;%; j( h& P) {) q+ M# i1 E: _
}) s, ?! j0 `/ w) q, O# Z
else
$ C% ?1 w* M- h# F2 L3 j{
: F% J$ A4 h# j4 H//在目前的目录下建立一个名为File.txt的文字档
! I  ^9 a) a) B$ W& H9 X6 afileName.createNewFile();7 N- \, _$ _9 r7 m
//输出目前所在的目录路径8 k) J; z9 p1 S6 y8 ]1 a1 y
out.println(path + "\File.txt");( `& a. P. B# B. N
%&gt;
4 O" _- a. v  f3 E8 b( f  b&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成
" \" L; g' l8 Z9 k7 [' ~+ b&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;
6 P( w2 h+ t) L1 b& j' }$ {) s' B&lt;%0 S7 r0 a  I  u; o6 M) X
}
6 v& u& w6 W9 D6 w4 E6 w  Y%&gt;
, Y7 \1 [! e: u1 _) h&lt;/BODY&gt;
5 H) f9 W8 B9 R7 a$ m2 s& \# x&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 S' t5 S5 i+ S1 s7 T9 E3 i
<CENTER><CCID_NOBR>
' I3 c) V: h. L2 _# _+ Q0 a<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>4 M1 k5 [9 C& D, _
8 o2 b( A3 K0 x
<TR>
2 I' X# ]* G4 u* E& t<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
' x% N/ {3 C: p; N( \' m&lt;%@ page language="java" %&gt;
/ J+ `1 I, `( l4 w&lt;%@ page import="java.io.*" %&gt;
( k$ {2 S, T3 N0 n4 q&lt;HTML&gt;+ J; h/ T  a& I: n& V
&lt;HEAD&gt;+ f* L7 u% C# Q. ^* r/ i
&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;
. j0 m  L* q. Z5 U. q# N&lt;/HEAD&gt;
4 J+ A. M- k, ?- ~( L) Y&lt;BODY&gt;
* |) j2 ~$ r' g, G- k2 i+ u&lt;CENTER&gt;# j$ ~* l& ?6 Z0 a6 C! H6 x
&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;* E6 Z; ?6 j( q1 l! N7 f8 S
&lt;/CENTER&gt;$ Q/ l9 h5 n; w" B6 r2 _9 x
&lt;BR&gt;" y: {0 _/ V* _
&lt;HR&gt;) ^4 c0 K. i# [* ]2 Z/ I9 B$ x
&lt;BR&gt;! Z- D1 w! k+ N. _- m
&lt;%
7 h; `6 l- G8 D( X( _! _//取得目前目录的磁盘目录
! p: p! `" K! s3 z& D3 uString path = request.getRealPath("/jsphosting/wenjian");
' X3 J  n# I4 ^- h* S6 i//建立代表目前目录位置的d变量
" p* I* n; p& v! N. L  @$ fFile d = new File(path);9 z1 J. r4 V* l8 y* x( W
//取得代表目录中所有文件
9 A, F/ }2 J/ H6 Y( b( o: zFile list[] = d.listFiles();
+ z# j4 f3 P3 Y%&gt;
9 S# p' _* c- S7 }" R/ P! m在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;
* H3 B( a" j# n" S( Z2 l* Y$ d&lt;Font color = blue&gt;6 \5 o5 y; r" C6 L7 z6 C' v
&lt;ul&gt;
  F+ h) C: t8 H$ ]5 w2 j&lt;%
  c0 P- j% [1 i/ Z4 tfor(int i=0; i &lt; list.length; i++)
: Z5 l5 I0 S; V: s2 K{
6 M* N2 I$ i! p; h% a5 P& u6 n%&gt;
8 H# q5 `9 v+ K  r1 W! ?" _$ k&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt;
% m; Q; }9 F3 T3 p- D! D$ f4 ]&lt;%4 a3 H5 o# b, v4 f7 _
}
4 S& C4 Y( M0 l4 i%&gt;
' b3 k, W0 j( `2 q5 H4 [+ T6 q&lt;/ul&gt;
* p" B1 z8 Q9 L&lt;/Font&gt;
- r1 S* q! s; ?  k" g% J& C& T&lt;/BODY&gt;4 Z( ]5 i+ i# w8 h' Z
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>
  \; u0 i9 I! s, L# B6 P8 E4 P) p0 G" S<CENTER><CCID_NOBR>
  F2 X% s" b! _5 h# Q* j<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
) B/ o' _4 D0 k! s: Q* d$ U$ t, v2 q2 ~( S/ G  n% U
<TR>  V6 w$ K4 u9 [1 J) ^% f
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;% u3 @  D: n2 G- \$ l3 c
&lt;%@ page language="java" %&gt;( g& W) d# c! _0 m( n$ ^
&lt;%@ page import="java.io.*" %&gt;& Y+ d- M3 U& Y5 y
&lt;HTML&gt;
' C# |, J# D* }  d3 ]8 X&lt;HEAD&gt;
- }# g$ Q0 l" E7 e: g* d&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;
' Z! T9 z! B8 i! D+ v&lt;/HEAD&gt;- N: a8 m7 ~# M. j9 B
&lt;BODY&gt;' V% g4 C0 ?# s% |0 e- V4 s
&lt;CENTER&gt;% }; [1 R$ s8 K
&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;0 D/ A7 s& a4 G2 j: c" K
&lt;/CENTER&gt;
9 `( j+ {9 X7 }6 K3 O, T& o6 ^&lt;BR&gt;- ^4 x8 X* Z$ I$ w' o
&lt;HR&gt;+ C- Z( F: J6 p5 Q
&lt;BR&gt;+ G* d. b  i! e0 A6 O/ m" ^
&lt;%/ C" Z6 N' ?9 y3 A5 O. }
String path = request.getRealPath("/jsphosting/wenjian");
: \  n2 U7 g. J5 J8 r8 Z! ]! J//取得目前目录在伺服端的实际位置
% b  i0 m1 l* q: fFileReader fr = new FileReader(path + "\File.txt");% Y3 |/ g2 G/ Q
//建立FileReader变量,并设定由fr变量变数引用
7 i% {: K6 ~' c6 ~0 `* ?8 w, T+ t3 oint c = fr.read();
& I2 g- Q; w: r( c$ g( n //从文件中读取一个字节
; ~* n/ ^+ J7 c  Bwhile(c != -1) % ?. }- R5 S! I8 x! C3 o1 ]4 ^
//判断是否已读到文件的结尾1 B2 m" I; l* W3 f3 R% N! M; R
{
, V" O$ H8 J7 K& k9 R( Sout.print((char)c);
; A- ^: x0 H. Q0 J! P6 ?//输出读取到的数据
2 y2 U3 y. R5 r0 B9 r; s% hc = fr.read();
  P2 N* r4 M$ x: d7 U//从文件中读取数据
) v$ ]1 a: v1 b+ b! J! c9 Pif(c == 13)
  m, Q+ ]8 ^# u6 |& N' D* Z5 O//判断是否为断行字节
& {4 J. V! @% p% [+ o- k7 e{) J2 M. ?6 {" A9 E( e: {( Q, i
out.print("&lt;BR&gt;");
( H6 C: T  @3 }% R //输出分行标签& p8 E4 Z0 ~; i4 a5 x3 z
fr.skip(1);
+ r) N! u* J8 K; z+ o3 @//略过一个字节% g  w& q$ h% X9 L
c = fr.read();
0 b7 ]5 @/ K% L9 `- H//读取一个字节0 r: a  x6 y: R4 p4 U# u
}
3 |' f- ], C: Z}  @3 C. }7 K/ q5 }& X" h4 z
//关闭文件; a1 }0 O0 B7 I% u2 y; u
fr.close();
+ \; I7 w) ?- h. ?1 [5 t- r$ h9 b%&gt;9 ?/ v: W" c8 ?' w6 y& X
&lt;/BODY&gt;
: s( H" L; {. C2 ^1 o3 o$ M&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>1 Q, e% ~+ m# {4 c2 P; f, w% Q. s) u
<CENTER><CCID_NOBR>2 _: U; M2 e( o5 a) K% M  R
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
$ c0 t1 f5 M4 m3 F" q' T1 {
3 T8 Z! i4 q$ P2 r<TR>
' ?1 A$ o$ v+ ?0 W4 ^, i<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;+ |( ~5 d' o2 T% Q) M$ a2 c
&lt;%@ page language="java" %&gt;
7 f/ l+ c1 s2 W% e&lt;%@ page import="java.io.*" %&gt;
* S* A! s9 o# Z4 z9 V6 S6 w) V&lt;HTML&gt;
$ F) a# b$ g& e6 _  `8 M1 n&lt;HEAD&gt;' N5 a6 U& R" p$ b
&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;
1 ~& x4 U/ ]0 c+ P5 t; V( {&lt;/HEAD&gt;
  x' P0 ^, ~4 V2 }$ T&lt;BODY&gt;' j; v6 S- T. H4 U
&lt;CENTER&gt;! ]. E7 U; ~  \% q3 I5 t
&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;% g, [6 A1 |6 F  O6 a+ G
&lt;/CENTER&gt;
* \) t5 A# {, A&lt;BR&gt;+ _, l. u; G9 s, Z) o; B0 N+ r
&lt;HR&gt;" ~4 _" n  a" y) q' U
&lt;BR&gt;  n. `7 ~5 L$ @$ U. z
&lt;%$ m! q- y( G& Q. q, r4 o7 V1 E
String path = request.getRealPath("/jsphosting/wenjian");
* [! y+ ~; L3 D" B2 X, d* h  \' D//取得目前目录在伺服端的实际位置) i9 Z7 L! W2 I5 u/ G$ \$ ^6 j
FileWriter fw = new FileWriter(path + "\File.txt");
  O5 X8 T! [6 B9 g//建立FileWrite对象,并设定由fw对象变量引用
0 q* Q5 l3 r6 f/ o' V/ l% j//将字串写入文件
' I" W  N( Z+ B4 @1 G( L0 Qfw.write("大家好!");
/ _6 d. ~8 ]7 X6 d6 @fw.write("祝大家学习jsp愉快!");6 l' [+ n4 y- Y; ?: g  f
fw.write("希望大家能够深入了解jsp技术!");$ }3 w. G; a. Q, |2 u, o' G
fw.close(); ( D' [- T! K/ v$ L' x
//关闭文件
, c$ J7 }* o0 D! F! T/ l. g6 {%&gt;% [( ?$ r: m6 V4 A2 ?
&lt&gt;写入文件内容为&lt;/P&gt;
! k; u( k/ W, \: F3 P! t% P. i&lt;FONT SIZE = 4 COLOR = red&gt;
7 A3 }; m3 [5 S* a. q- \&lt;%
$ [/ ^0 W: V! y7 a$ }' mFileReader fr = new FileReader(path + "\File.txt");
) e2 L5 `6 s8 H6 F  C4 t//建立FileReader对象,并设定由fr对象变量引用& P- i7 p7 l0 o( r4 y% z  Z" E0 A
BufferedReader br = new BufferedReader(fr);
7 u" M4 M, \* d( C5 `- m6 E$ C3 D//建立BufferedReader对象,并设定由br对象变量引用( i9 \' I9 Y. K+ f- D
String Line = br.readLine();
3 @8 y! `) u4 ^: y( t' W- U//读取一行数据
; V1 r- l# x: zout.println(Line + "&lt;BR&gt;");   }+ ]4 |6 w3 U2 P
//输出读取得的数据
8 w: C  x; [, y- ]br.close();( N& a, R2 F8 D  X% q9 F' }
//关闭BufferedReader对象
4 T. R  A- S' O% E) ]fr.close();7 v, f) q+ E2 u% C5 D+ U/ o  A, M
//关闭文件  H  i" s# _1 q" S) n
%&gt;0 T3 j  E2 d8 X, }6 V2 o4 n
&lt;/FONT&gt;; h6 C  p% O. M; D7 a+ E
&lt;/BODY&gt;6 D  E0 ?) m4 T) t  N" ]0 h& C
&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>
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
您需要登录后才可以回帖 登录 | 注册地址

qq
收缩
  • 电话咨询

  • 04714969085
fastpost

关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

手机版|Archiver| |繁體中文 手机客户端  

蒙公网安备 15010502000194号

Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

GMT+8, 2026-7-28 02:36 , Processed in 0.415165 second(s), 53 queries .

回顶部