数学建模社区-数学中国

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

作者: kampoo    时间: 2005-12-30 20:22
标题: [网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>
2 i, o! O9 I) [* z8 f<CENTER><CCID_NOBR>3 ^8 H2 K& ~5 M! ~% g0 w
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
5 L8 S. `4 F( f% V. u
8 b% X  T0 l# G# Z" p  ^! ]<TR>
( D) Z) n; l7 N/ c: r- l<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
) G: D' A# s9 p1 r$ j&lt;%@ page import="java.io.*" %&gt;& ^$ j: s. t. V5 x6 S
&lt;%@ page language="java" %&gt;
5 Z' b  Q; b3 f. g$ @&lt;HTML&gt;6 M8 V% N+ e1 R$ i9 _: v& s% X
&lt;HEAD&gt;, D/ i. E( L: h& Q
&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;
& w4 d) `: k  \2 P$ \2 W' k&lt;/HEAD&gt;
) M& |/ V9 c/ O4 D9 X% I* n" p&lt;BODY&gt;# s/ M) ?$ f4 e& ^( Q. W
&lt;CENTER&gt;
. f" S/ r3 L4 v4 c2 c: E2 o. u1 l+ f&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
% ^% B" i# D7 U# q&lt;/CENTER&gt;
& @/ f& k  z, A* [) d&lt;BR&gt;% h, w/ l3 \  {- o& k7 G* ?/ E
&lt;HR&gt;* V4 I, E# v/ R/ y  ?( S5 S$ N
&lt;BR&gt;: x7 m& ]! J% t% M
&lt;%6 `+ ^( V# K1 g* A3 x7 [
//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用2 B$ h' A: P: F0 K
String path = request.getRealPath("/jsphosting/wenjian");& s# d/ q) W5 R1 g
File fileName = new File(path, "File.txt");
. K* }- E% i; B0 t//检查File.txt是否存在6 _/ q. F# I+ j7 C
if(fileName.exists())& ?0 ?0 ]2 R" F0 p* ~
{' [5 e' R6 |" Z2 h  T+ ]/ }
//删除File.txt档  b: _/ Q7 C* J( I5 J8 s
fileName.delete();
4 I5 p' B2 }4 P( \//输出目前所在的目录路径+ _6 l: R- u6 |4 @0 U! S
out.println(path + "\File.txt");
1 A5 t7 M. ]0 K2 o% t* V6 ]1 k' }' e%&gt;8 {  g+ y$ P8 V3 t* w) a) h* `) k
&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成
- N% j2 x. n, k$ i&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
0 t# H+ h  P$ m, M8 A; U4 [& z1 i% ^&lt;%
+ f% x% K% b# O0 ?- C}
, T* ^6 y3 J3 Ielse
3 S, S* X4 Y$ c, t/ i  u{/ q! a6 T! E; o2 l: ?) `; U+ j% T
//在目前的目录下建立一个名为File.txt的文字档
% \0 l! K( g! a6 O; ]8 k# BfileName.createNewFile();
2 }  L) p) T# q% A) ~  w/ ~  b//输出目前所在的目录路径
2 X, r: U# T1 I; a+ kout.println(path + "\File.txt");: p/ ~' d4 z" E4 x: D
%&gt;
0 a" C$ A6 F' Q/ S+ @0 t: Q0 t' |&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成
) l0 o1 J2 X, W5 x! {. `9 v" j9 |&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;/ `  r( t* m: ?9 H7 p3 l
&lt;%) b( J, H2 _! @; P, p0 ?3 {
}
& L: z) q9 ?0 {6 B, ^. }) f/ X%&gt;) z- m. h& A6 @' m4 O' z
&lt;/BODY&gt;
% C* d# ~; r5 ]  B6 s. Z2 n8 @&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>6 f( e, j: m; }5 Q
<CENTER><CCID_NOBR>
# V3 e1 z* S( L: D( I$ Z<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>$ C& k$ r+ q# v; D, _, a! @

: ]3 f( X9 n& e8 c8 A, Y<TR>4 O6 u, }9 Y1 Q8 ^! l) u# V8 p  e7 b
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;3 `. m) z3 C: }! y
&lt;%@ page language="java" %&gt;
5 p  _  i  g& D/ m1 \* o- a" k&lt;%@ page import="java.io.*" %&gt;+ n9 o2 R% {/ }: p1 |1 ^; F
&lt;HTML&gt;% q  ^6 M# P* c7 g9 z& g1 M
&lt;HEAD&gt;
$ s% ]- L" L7 A1 J. ~" K&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;, H2 [! m# \# F! P) }2 T& k! l
&lt;/HEAD&gt;, `) W. p7 M) B
&lt;BODY&gt;
! m* L* X: \  c: y, I0 k& O. l&lt;CENTER&gt;
0 B2 s- v) [' q- O3 x&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;
1 s% Y* }8 S" I9 s- n&lt;/CENTER&gt;+ C/ P" L8 t8 }7 k
&lt;BR&gt;
; X+ p( r" x8 @* ~&lt;HR&gt;
8 X0 S8 @) I6 H' y  N( e8 v&lt;BR&gt;
" f# E6 Z, W  T* Z' w, {: u1 Z' x&lt;%
0 ?4 f$ G1 p/ O; L7 @; o+ x' F//取得目前目录的磁盘目录
8 r; V1 z! e5 C$ i) EString path = request.getRealPath("/jsphosting/wenjian");# W, g2 [! K) u  a
//建立代表目前目录位置的d变量5 ?8 c" [* Y9 V9 ~9 C
File d = new File(path);
/ t$ v, o6 G) g2 ]; }//取得代表目录中所有文件
& T. R: t: B# m, u6 PFile list[] = d.listFiles();& Q* C4 ]9 p3 t  J, m: P" m$ E
%&gt;
/ u* V& N+ f! E; ^7 |/ t在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;
; _4 v6 e* v. N&lt;Font color = blue&gt;& W# k# G( X2 l& A# ?/ E
&lt;ul&gt;
) m8 v' Y9 g1 u5 _8 P0 c&lt;%
5 s2 s. `( H  c5 S' i/ }+ [# w" Zfor(int i=0; i &lt; list.length; i++)
. M+ f# l3 ]! k. y# Y{% g3 H7 @0 M4 R1 U& f# g5 H
%&gt;
$ {0 Y. G+ \1 k. I- b' E&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt; 7 y1 J$ D' B4 I3 w" X# j
&lt;%1 w1 n; X1 A/ L
}8 U2 `1 D8 ?+ W& e: T
%&gt;
' _$ a9 H# ]' F0 C&lt;/ul&gt;
2 P. Z5 m% q5 L&lt;/Font&gt;5 g; G$ ^6 m0 X5 b! w/ f( z: O& ]
&lt;/BODY&gt;
8 z2 l6 J3 o- [7 V' J$ [&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>; y0 S/ b1 S/ Q  E
<CENTER><CCID_NOBR>
6 w" t! t: m# S1 |2 G# W0 g<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>1 E) M* ]% j# N, z5 l1 i
. G: C. U, `5 J$ n3 P
<TR>
: p! t0 {" e) g4 b, {* W! [$ S<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;* H4 B) x' ~) k' H" N
&lt;%@ page language="java" %&gt;( W2 t4 x+ _4 J! L6 e! x# B+ J1 T6 C
&lt;%@ page import="java.io.*" %&gt;
$ B# }3 q' X8 ^  f% Y, _: D&lt;HTML&gt;- g( i8 R4 I7 ]% W7 e+ Y
&lt;HEAD&gt;  A  }* [' Q9 |# X' |, P9 a$ T0 D$ a
&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;8 _  T$ O4 l, G8 l) q4 W
&lt;/HEAD&gt;) a: D+ ^4 g: Z3 n/ G
&lt;BODY&gt;. U' m2 k7 m( W7 r  E  B( L& R! B
&lt;CENTER&gt;
( F/ s  Y  c( y  e&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;9 e6 ~% V3 k1 ]" `& m5 J2 h
&lt;/CENTER&gt;
; H* J7 t! A5 I: |&lt;BR&gt;
+ V$ j4 n: ?9 R" [&lt;HR&gt;
4 P7 E+ m, B3 b+ B- H+ X8 @  `&lt;BR&gt;. v6 [! h9 `- C0 }! i; G
&lt;%
* k, t6 G3 l' y; X1 jString path = request.getRealPath("/jsphosting/wenjian");
+ z" R( m# o  U//取得目前目录在伺服端的实际位置# Y! o; k+ _# Y3 Y) }
FileReader fr = new FileReader(path + "\File.txt");( m5 r; t& q' S- f, w
//建立FileReader变量,并设定由fr变量变数引用1 s! x. E: h9 o9 X
int c = fr.read();
( k2 s/ ]7 \" d9 R- _* X7 G3 V% b //从文件中读取一个字节
; G3 C4 f' L9 q- Z; Swhile(c != -1) 1 {/ [, p( o4 Y
//判断是否已读到文件的结尾
1 a; f# J/ N! ]  w8 M. a{
4 k6 R" K+ r7 m' s7 a, cout.print((char)c);
% @; B5 G9 a( m' o* `- i4 L  l//输出读取到的数据
' V7 x; B4 ^. m! H, G- y- {c = fr.read();
0 M4 y; q0 D- ^7 W3 x& u* p//从文件中读取数据$ a, m) j$ ~/ R  o  l* ~+ a
if(c == 13)
3 x: m  Y/ j  _" |0 b+ G//判断是否为断行字节( Q! S2 M- ~: C! ?$ m
{! B3 {3 o' S  A8 e- v) e0 \
out.print("&lt;BR&gt;");
- I. ?/ ^- _! Z" d //输出分行标签: B7 Y* n, U% g. U1 E' M9 _9 O# e
fr.skip(1); 9 V8 H! j7 [0 h+ S* P
//略过一个字节
% `7 M+ Y7 y+ v2 O# t0 ac = fr.read(); 0 ]. w& h- ]" I8 ^$ j
//读取一个字节4 m1 S3 `( q3 ?/ V
}
, q8 L7 }1 E! H7 a$ ~+ X}
8 Z& @9 `- U2 ^$ W7 W0 r//关闭文件$ F' z& I. U' I6 V
fr.close();
5 |9 _3 b$ r+ P0 m6 z%&gt;
9 \9 \* N8 f' W8 y! a2 n2 x&lt;/BODY&gt;
/ R% r- v/ N, `. n  ^( b2 w6 N; @&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>
4 O0 ]% T  t+ w4 M<CENTER><CCID_NOBR>8 f/ i5 ?4 T* h; I+ i  L: V0 s, Z# ?) m
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>  q3 d) y- l% p) s5 ~5 {6 t9 f
7 k' t% E) P4 z* _/ \
<TR>
$ {/ C) B' h" n" v1 B# Q) E- |& b<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;8 Y; K. r' ^0 t2 u, G' d0 {9 j
&lt;%@ page language="java" %&gt;% F  a7 a6 i3 ?- q( h# T3 Q9 v" F' `
&lt;%@ page import="java.io.*" %&gt;3 y' h" L4 m7 o4 t/ _: b* j3 m
&lt;HTML&gt;- B& ?4 m" J) e5 \8 m7 _
&lt;HEAD&gt;
" m: }' Y3 Q3 ]$ l; ]$ `5 o&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;
+ O0 M3 b( w% E) X. Y&lt;/HEAD&gt;8 D. O; ]& _( n2 `; }4 t$ w& D
&lt;BODY&gt;
3 \" c) C1 @) m6 j* `5 d  w* m&lt;CENTER&gt;  V+ Z- P5 {. X6 p. w
&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;( d. y0 W8 T9 g1 g3 V2 n% Q/ K
&lt;/CENTER&gt;
/ ~2 y8 x2 `4 g/ Z( U. U. B' k% Z&lt;BR&gt;' j) v9 H' |' t2 S- E6 y: \) T
&lt;HR&gt;
# {, C3 C: ^0 s9 b. x' w" m&lt;BR&gt;7 U9 R2 r5 n, f( K6 P
&lt;%
2 ~4 J( p$ r# z# t' YString path = request.getRealPath("/jsphosting/wenjian"); : n6 n9 d8 n/ C
//取得目前目录在伺服端的实际位置+ Q# B: h- H' d1 @: Z
FileWriter fw = new FileWriter(path + "\File.txt");
' P$ ^; e8 y5 t6 c//建立FileWrite对象,并设定由fw对象变量引用
: s5 c8 w# {6 O" w+ `0 d//将字串写入文件) E7 s3 c, @0 i7 ~5 _5 k. y, v8 v
fw.write("大家好!");
: G5 g, V/ y% o/ }  Vfw.write("祝大家学习jsp愉快!");
. e: {* r% S0 S$ B$ D% U/ k2 z1 bfw.write("希望大家能够深入了解jsp技术!");' F+ e8 S( {, A0 S3 p+ J  H5 @6 |
fw.close(); 0 ~% K8 C, `7 l6 r3 t
//关闭文件( U1 F2 p9 I. p, R
%&gt;
! g0 `! C& x6 M6 A&lt&gt;写入文件内容为&lt;/P&gt;
# g- Y3 q6 N9 e- K  y7 g&lt;FONT SIZE = 4 COLOR = red&gt;
3 q( O1 P8 H( Q8 ^7 \3 z&lt;%
* T* Q1 x1 i. w* k% T* tFileReader fr = new FileReader(path + "\File.txt"); $ P( U, z  J7 q% Z- c+ p
//建立FileReader对象,并设定由fr对象变量引用; P+ ?% E. q+ `
BufferedReader br = new BufferedReader(fr);
8 m* I( F0 e8 [//建立BufferedReader对象,并设定由br对象变量引用
3 J# Z' P" N/ v% b) e7 EString Line = br.readLine();
) k# r# I  q( x0 J  A8 `5 |9 `//读取一行数据
6 W, c& t4 }3 V' t4 Rout.println(Line + "&lt;BR&gt;");
. r! v% |, y* T8 A5 o//输出读取得的数据
4 V1 {& c. l$ @3 qbr.close();! {' p- j) s* K. T, D! \* M
//关闭BufferedReader对象
! F8 S  i# M3 _2 h2 n  ]fr.close();; E: j1 N7 L" B" D
//关闭文件. E: {9 d  A4 j4 [1 C2 r" B* y
%&gt;
+ {6 z1 X: n  [. A4 ]! H; U&lt;/FONT&gt;
7 M- Q. p: F: @6 J& t% ]6 X8 `&lt;/BODY&gt;
; G! E1 B+ e( [2 z4 _6 I&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