QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3983|回复: 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>
9 H4 ^% }" `' W" G9 d<CENTER><CCID_NOBR>( U( \1 }/ ?, M; b# j
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
! k* A4 Q( P* t$ `) _5 ]- p. i  _2 E, F( f0 k8 I
<TR>
: o9 j$ x' f( A: V<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
2 J* _4 G+ D5 ^5 l! y: `&lt;%@ page import="java.io.*" %&gt;
/ _2 C. h- O/ _5 b( C3 @' C&lt;%@ page language="java" %&gt;4 X( N9 b: i- `/ t9 i
&lt;HTML&gt;
8 a/ y: k( R3 g2 M&lt;HEAD&gt;6 D" t$ T* h# h8 ]. E! u
&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;, S/ A, S+ r5 U! @+ f& b) g
&lt;/HEAD&gt;
2 l! z& g, F4 a6 [; g* X0 O" q" H&lt;BODY&gt;4 w6 \. B: u8 o1 M
&lt;CENTER&gt;) b9 M( \* m. O$ E8 h9 w
&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
% g$ s; }% L( Z; S, s&lt;/CENTER&gt;2 D: |! W  \- i% Y7 T3 Z
&lt;BR&gt;
3 Q6 m( A; r+ T% s&lt;HR&gt;
- U7 x; q0 K/ h1 ]/ ?&lt;BR&gt;
: x! V0 [& r( |# q( h9 }, P5 Y&lt;%
; w. U) ]' v1 F0 P! F+ J//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用6 N: r% H, L5 Z" o) F' \% e1 E
String path = request.getRealPath("/jsphosting/wenjian");7 ]! U8 y- y% T
File fileName = new File(path, "File.txt");
" [7 ^2 i' l- z//检查File.txt是否存在) ?" J; i# m- p
if(fileName.exists())
- \9 k- j! u% v4 a- x! s{- Q2 c/ s  \1 g+ z
//删除File.txt档* ?# |- ^% x6 R1 A2 b
fileName.delete();
6 L4 ^4 ]; {# L//输出目前所在的目录路径
1 G; b8 r7 U6 p, g- O5 T0 d7 |3 Vout.println(path + "\File.txt");, S! M3 m* J. ~# o7 k$ h" k
%&gt;8 p2 X4 t9 Y; O$ h) M% ~
&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成2 `; S- h( l* B
&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
' [$ [6 M7 v: d& n- h# F: `( k&lt;%
$ \. K4 J8 t/ v: V# a}. X+ _3 y, @! N' s; `
else0 `# v' y. u& ]" p
{8 {$ U; k4 c6 T# a- H
//在目前的目录下建立一个名为File.txt的文字档 8 H4 \: z& e4 B  a
fileName.createNewFile();2 X+ t0 F  l8 k; ?+ x
//输出目前所在的目录路径7 \) A. C! z# s, d( Y3 R3 J
out.println(path + "\File.txt");
: m3 m" {5 u6 Q) b$ p8 Z* f%&gt;
: ^2 A- w3 r4 ?# {- ^* ]&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成. P$ }8 m: U; X) S
&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;
3 e  d- S$ n; M, g&lt;%6 j* s/ F; `6 q3 K: i" c
}
) D6 Y7 W% l: g) m  M%&gt;% r, l1 B8 w2 K" V$ _
&lt;/BODY&gt;$ Z/ s* G8 K, j! M9 y& c* l. @
&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>7 _4 Q! Z& A/ C) R9 I' w
<CENTER><CCID_NOBR>
2 S0 Z* }- e, n5 M" n! d<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>  _- L: F; o2 \) z; y. r$ a- ]
3 i1 \/ [. n2 I+ W
<TR>
0 P& a1 l9 x5 F<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;1 A( E+ n7 \. O8 @5 W
&lt;%@ page language="java" %&gt;- ]; |7 S! M3 M) w" t* G" o% h, b/ E
&lt;%@ page import="java.io.*" %&gt;3 O% ~* `2 U5 o5 Y
&lt;HTML&gt;$ Z: Q$ h$ ^2 ?' p  ^( A
&lt;HEAD&gt;
' z' }0 W" u2 w&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;
: _" ?; ]4 e4 `% O&lt;/HEAD&gt;# l; [3 a  G  o- n  Y
&lt;BODY&gt;1 E: J! [. c2 `& \, K1 w
&lt;CENTER&gt;9 u8 C! r' J" z5 r  N6 T; x8 U
&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;, E1 P: O7 q. T. R8 O, [! g
&lt;/CENTER&gt;
' r8 v1 X0 _. w; M&lt;BR&gt;
: s: o5 C( ?0 f% s" z&lt;HR&gt;+ f4 l( o9 `( q8 ]# w+ U7 |( G
&lt;BR&gt;
' q) D- N5 ?6 O) Y0 E% h4 C&lt;%$ }( [2 q1 U+ T/ ]1 E! W0 U/ |
//取得目前目录的磁盘目录9 a* w! T0 B: e! n% }) J! o
String path = request.getRealPath("/jsphosting/wenjian");+ ^1 D% p* h4 d: l& H$ X, P. V
//建立代表目前目录位置的d变量; B. j% |! w/ H* ~, u+ t+ g
File d = new File(path);
) m  }/ J# ~8 g' Z) i/ _. H' r% Q//取得代表目录中所有文件
3 o( C) @" ?% H3 @8 _2 @File list[] = d.listFiles();
" w, r. a* m& ~%&gt;
6 {7 ?3 ]/ y7 `. e, }: N在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;
3 e" U" w3 Z9 `3 h6 Y* R6 t# }2 f&lt;Font color = blue&gt;
- h, E: L$ t" H&lt;ul&gt;
! h9 N$ K' V: k0 [9 v&lt;%
' W6 U0 C) X$ K- L. I( v! Lfor(int i=0; i &lt; list.length; i++)" C+ O$ p1 u! K% ~  ^7 Q
{
4 @1 q! ^3 `7 U2 ?1 y4 h%&gt;
: r" g% I. g, Q8 Y7 R&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt;
$ C$ e. E% r+ ]8 s# K) |6 w7 V( w/ f&lt;%
; t+ X) o+ j! s1 F6 I}
3 I9 C) l3 l& ]& M$ X' l- A' _4 }0 y%&gt;5 m; I- q) x) W2 H; g( P. T' S, d
&lt;/ul&gt;  m8 T$ p: F- X  g! z& w0 l
&lt;/Font&gt;
! a6 P3 k/ N, z: ?; U&lt;/BODY&gt;& [1 f0 R  q- ^: [# F2 \6 W
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>+ V# Y% w5 t% C9 Q  K/ O
<CENTER><CCID_NOBR># f: k+ w% d/ G/ h; [  U. ~$ _% j; P9 ?
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
' `3 y2 H& ?- R0 }3 R, ^  g' Q- l3 |9 H4 M2 \2 L9 U- _. [1 M
<TR>
+ C9 Q* b& F* O0 ]3 V! e& R- c<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;
7 Z4 h" a$ N* S) _&lt;%@ page language="java" %&gt;
% W; J2 f7 \/ M&lt;%@ page import="java.io.*" %&gt;# \3 {$ i% ?- }. t5 w) t7 }
&lt;HTML&gt;' N& F# D& g" C! d4 M+ _
&lt;HEAD&gt;& J# s" S, s3 g2 c- l
&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;2 s0 t" T% C" Z) J0 K: a
&lt;/HEAD&gt;
7 ?0 b3 f- n5 e&lt;BODY&gt;: Q! w3 ^( d& O* b9 T* R
&lt;CENTER&gt;
' @+ L3 \) P6 V0 [* A) s&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;# D! Q. \8 b' M4 U) f! p( y
&lt;/CENTER&gt;7 Z& u/ ]3 |& I- t( _- [
&lt;BR&gt;
$ |) _$ U8 l3 S3 L$ Z&lt;HR&gt;' }& A0 P+ T. _& n+ o! K4 F. s
&lt;BR&gt;8 H5 p9 ?% o' n3 N, L
&lt;%
( R/ X2 M) A7 yString path = request.getRealPath("/jsphosting/wenjian"); # b8 e! w) w% S
//取得目前目录在伺服端的实际位置$ \8 X" O; s. d" O3 B( ^7 k
FileReader fr = new FileReader(path + "\File.txt");
5 Z9 B) Q' l  N% k //建立FileReader变量,并设定由fr变量变数引用& C3 d/ r/ Y  |
int c = fr.read();6 Q! G0 u2 e1 h6 @# H1 L9 R7 K
//从文件中读取一个字节/ d9 i% q$ H2 K6 a1 M2 s: w! C
while(c != -1) & @* M9 G0 I  ]$ B; J- g. Z
//判断是否已读到文件的结尾( ~! x  W. x' ?8 t
{- [3 O* {% m# v& Y
out.print((char)c);
( m  Y6 u) Z( B' h0 W7 w//输出读取到的数据 * t  ~$ f0 B2 e3 K- }4 V; a
c = fr.read();
6 H1 h4 x) x+ r- H//从文件中读取数据
% S& ?# G$ o, S3 }1 Q- ~- mif(c == 13) 6 f# B% a5 y2 P% ^* ?$ K
//判断是否为断行字节# h: S1 J9 |' Y( t% J
{
& M, T2 x! D8 T" c: E  tout.print("&lt;BR&gt;");
4 B1 _) {7 E7 {: o1 |7 a //输出分行标签
8 c: u  Y" g1 ^* ~1 U+ Pfr.skip(1); 7 v+ w; w1 C' C4 A, F
//略过一个字节
! F* z: p! f: `! Jc = fr.read(); + x$ t9 G  i2 o% R7 h$ \) I
//读取一个字节1 O6 ~5 ~$ Y$ c
}
) H: T( q7 Y+ X! A( ^. S* }}* E2 m; n- a0 B4 `
//关闭文件, \+ ?4 w; Z3 X2 ~! h/ f1 _7 A7 D
fr.close();# Z" Q- q6 S0 O$ b8 q9 @
%&gt;
( y& T: }  Q6 `) H' R) R) B6 s&lt;/BODY&gt;
8 U% ?2 x, \( d1 M$ u/ F&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>  u; j' a5 b9 J
<CENTER><CCID_NOBR>% ^9 H; L/ \, a
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
6 `( ^: }$ j0 D. u- W4 r" [+ x. w5 V
<TR>0 {8 m( u  `$ d9 T5 }; ~
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
7 ?2 O1 R0 l: D5 s8 @: v: y! O! O0 z&lt;%@ page language="java" %&gt;
+ ^$ Y6 }: v( L3 L8 i&lt;%@ page import="java.io.*" %&gt;8 e5 L2 m. l8 j
&lt;HTML&gt;
* L7 Q; [0 w4 j3 i, y5 [! i  h  J&lt;HEAD&gt;
' `) ~+ d7 t5 T. K5 d&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;
( p' L8 q/ |0 k$ h7 ?+ I&lt;/HEAD&gt;
% i, T4 q: D& R. R8 E&lt;BODY&gt;3 `7 ^/ U  k" o
&lt;CENTER&gt;; _/ c. r/ y. x" g) c
&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;) _" o$ N7 C- `# {" x
&lt;/CENTER&gt;$ h0 N- C- H2 c' Y; C/ Z9 J
&lt;BR&gt;
3 W* i2 `4 m6 h- e1 R&lt;HR&gt;7 @- a6 @/ ?( L$ c( [( }$ q' w
&lt;BR&gt;
9 F; l  ?7 A) }4 F% Y* v&lt;%
' B* F) o5 ?, E; \: L/ H- _. f& V. DString path = request.getRealPath("/jsphosting/wenjian");
  R) H: ?. K  ]1 f; J& S: b5 r//取得目前目录在伺服端的实际位置' x& S# f% A2 e! V* k
FileWriter fw = new FileWriter(path + "\File.txt"); " M/ C/ G1 L! |' v" S" \
//建立FileWrite对象,并设定由fw对象变量引用% Y3 J. p1 a- ^" g8 y4 a% T
//将字串写入文件
/ L* Z$ B+ A2 K. v2 Rfw.write("大家好!");
9 O/ @3 R' ?$ Sfw.write("祝大家学习jsp愉快!");& E) G6 K1 C- E# |' s' v3 o2 ]9 L
fw.write("希望大家能够深入了解jsp技术!");/ u/ Y5 d# A6 n1 a' C
fw.close();
. s! a% {* s8 }5 y! P8 E//关闭文件6 q6 }* v: D. c8 }
%&gt;
& r. k9 K) h8 f. o9 w& Y3 @&lt&gt;写入文件内容为&lt;/P&gt;
$ A7 p, u* @3 _&lt;FONT SIZE = 4 COLOR = red&gt;
1 G% T# l" Q6 ]: g  k&lt;%
  X" a, a$ D: q+ h: FFileReader fr = new FileReader(path + "\File.txt"); 4 b5 A7 R; Z" L, Z+ t
//建立FileReader对象,并设定由fr对象变量引用
) b$ s9 U+ b0 [* n1 W: q+ nBufferedReader br = new BufferedReader(fr); 4 O9 H2 U5 [. h. ?7 T. R
//建立BufferedReader对象,并设定由br对象变量引用' u' Z2 h9 o' R* z+ s2 \3 Z) ~8 [
String Line = br.readLine();
% R! ^; y( i5 X/ e0 \//读取一行数据
3 P; c5 ?8 m/ _out.println(Line + "&lt;BR&gt;");
8 J/ A5 S% k" c( Y# I- M//输出读取得的数据" ^  g0 q" `# [) b8 H7 Y
br.close();
5 w- N4 ]# Y! P; Q //关闭BufferedReader对象( W) R, I+ ?' Q/ h& j0 @  g1 S
fr.close();
3 T! }' A0 O# I( ~ //关闭文件
5 d+ y' n8 A' g+ f8 u/ F* \%&gt;0 Q& D5 P* X# K
&lt;/FONT&gt;
$ Q0 V$ Z0 L/ u. ?: O( }' g&lt;/BODY&gt;
  z" F. p5 S. ]) d2 w, p- R) f+ D&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-6-11 13:49 , Processed in 1.333025 second(s), 53 queries .

回顶部