数学建模社区-数学中国

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

作者: kampoo    时间: 2005-12-30 20:22
标题: [网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>
$ h  @& M- m9 v6 ^<CENTER><CCID_NOBR>4 q2 @8 @! i' [
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
0 G9 ^- N0 ]2 T9 \, n7 {( H9 {4 V
, L; a2 Q6 c- M5 ^<TR>
$ c  _; _6 o: V4 E$ K% b<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;+ D, f' y$ [6 K% [7 ^2 y
&lt;%@ page import="java.io.*" %&gt;  l- R6 T; I6 {* d& i
&lt;%@ page language="java" %&gt;3 ?% v- {7 X" W0 o" s- d
&lt;HTML&gt;
2 n# O& ^" D6 ?, E. [' O&lt;HEAD&gt;& J  c% i& y5 ]3 ~: O, l
&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;
3 E1 q. y- K8 g8 T" j" H/ k&lt;/HEAD&gt;
9 q5 G5 P+ p  r' `6 W. \&lt;BODY&gt;
0 Z7 ?/ {. ~( i- t* y8 L&lt;CENTER&gt;
) N$ i# b- A5 z* b+ f&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
  ?+ }* C3 ^0 y# W* j&lt;/CENTER&gt;: u. c( i. k5 _  G* S. s
&lt;BR&gt;
6 b% c6 R# c4 j8 G  S! ~5 H- r8 h&lt;HR&gt;
, `0 X4 }; A, h" K0 v3 L' y+ G6 m" C&lt;BR&gt;
/ w0 f: ~2 ~6 f&lt;%* M" B* u& Y: B0 f5 D5 D4 ^
//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用
& I7 T. B' g" g* r2 v3 HString path = request.getRealPath("/jsphosting/wenjian");
$ Y; R3 T1 h" b  W+ t  Z7 j1 ~& E( hFile fileName = new File(path, "File.txt");6 s% Q4 P- I  y" Y
//检查File.txt是否存在
7 z* m4 Y" c8 ^if(fileName.exists())
! p' i0 y" W; w{
. \$ l# ]) H! ?//删除File.txt档
( l% V! Z$ U! _/ g0 F1 FfileName.delete();' K' |9 s  l6 @0 M4 v# v1 v
//输出目前所在的目录路径
* G4 j8 S* r* C; w2 g5 l- C7 uout.println(path + "\File.txt");
+ o# l8 b7 v& i) K1 A%&gt;7 \; a! P1 t! d+ ]0 S
&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成; w3 Z1 z0 D. R  p
&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
% u0 u5 D; Z' S8 Q( r+ U&lt;%
, P% J% C  W# g/ `7 y}
, v  B# X( P! j& e# Y% k; selse- q; B0 ?8 S/ f. P, l
{
/ d1 X' q# U; B9 @( S: h2 M//在目前的目录下建立一个名为File.txt的文字档 ) g* }2 N3 w6 F) g$ Z8 r0 y& T
fileName.createNewFile();
' W4 M9 e1 Z2 S3 ~6 l//输出目前所在的目录路径
5 y: k" m- b. X. |6 Aout.println(path + "\File.txt");
8 a3 P! f1 z: y" u2 P# `+ o! t%&gt;
- [* ~9 k; A. ?, Y&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成
: N$ ?3 l7 F( E9 C& W- w&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;
6 Z- e% `: ?! \7 [&lt;%
5 U! [6 z0 h% P" N}
% R+ N+ k" [3 ^8 a& C, s# Z8 P; n%&gt;; s! t/ `5 M/ p/ T
&lt;/BODY&gt;0 G" N8 s- g/ C$ G& o) d
&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>; x6 A. p! _" i1 E9 {0 G2 e
<CENTER><CCID_NOBR>2 P8 u* M0 m) |0 j. M
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
% M, Z+ `% e! u5 x9 B% R- M" d$ B. r/ T0 b  j, f/ w& B) n( f
<TR>
  w# I- C4 J% d0 x1 X<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
2 B' B+ [, x: d2 U&lt;%@ page language="java" %&gt;
0 C0 U5 M/ }2 d0 V% P2 c, d&lt;%@ page import="java.io.*" %&gt;9 c9 u) e4 Y# g; Q8 j# P* a2 Q+ ?
&lt;HTML&gt;+ G7 K  j, s' C/ l1 g3 ~
&lt;HEAD&gt;. ~/ d4 r( [8 ?
&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;9 t; Q# j- {. P" t0 J  h! \9 \
&lt;/HEAD&gt;
1 Q; T* a- Y5 c! n7 H&lt;BODY&gt;) Z% B- J# W; c# L8 d
&lt;CENTER&gt;
# I4 N, Q# v; G, @( N# h&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;4 M( m" u% }: ~
&lt;/CENTER&gt;  D5 a, e: F6 J/ r2 X0 g# h. N# A
&lt;BR&gt;
* r" U1 t$ F  o/ a6 L1 u. _&lt;HR&gt;
; \, @# C* k0 K&lt;BR&gt;
: S9 S% _3 T. }  v, m3 A&lt;%4 o! P1 A- k0 ~% Q# @+ S) l2 U0 f
//取得目前目录的磁盘目录. j9 f% E  R5 Z- m* C3 d/ o! e  k* e2 c
String path = request.getRealPath("/jsphosting/wenjian");
" L' X8 [# p" W' t! z6 O8 _& E! J//建立代表目前目录位置的d变量' ]9 M0 A% x1 }1 Y6 y
File d = new File(path);- y6 Z% `/ b4 v0 Q1 M/ f) X
//取得代表目录中所有文件
  [/ h& a0 H( v$ o/ E8 [File list[] = d.listFiles();
: b% S1 W/ D# E* C! o! Y7 Y%&gt;$ |- j% n) {) z: }7 u& H! q
在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;
9 }7 U4 N( h1 }9 U: O6 ^' M8 u4 P&lt;Font color = blue&gt;- ~1 I/ p4 X4 k3 v1 O* U, h
&lt;ul&gt;: t, p6 G5 z& {& s
&lt;%) ]% ?, @! J. P& L0 k6 o! d
for(int i=0; i &lt; list.length; i++)5 D! {, g% u- H1 x, ~# ]7 `
{; n: f% X  G1 O4 c! Z/ [' k0 p; s
%&gt;8 i! K! Y$ w. Z6 S5 C
&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt;
" y# ~' b+ p4 C! y- t0 f&lt;%' N8 `8 y8 |$ h: z8 c" S
}$ k! {# F6 S  R4 k6 S7 ?
%&gt;- n' }0 V4 ?$ F
&lt;/ul&gt;
- Z' n# V) J' y/ {3 c3 E% Y% C&lt;/Font&gt;
7 q" F& _$ \& N8 g# ^6 \&lt;/BODY&gt;: G/ v* s4 k/ |! Q6 p& _
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>
& Z& H( g# Y  e! y1 K<CENTER><CCID_NOBR>' B# f' Y' [8 W: }8 E# Y6 C% Z) P
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>+ B$ m8 ]; p/ P% W9 m) P+ p
5 E; g1 W8 k5 X& ?. e
<TR>4 [* r3 }8 w; o  W/ x
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;
8 h) U1 W# ]' K/ M0 x9 `8 |* A; M0 w&lt;%@ page language="java" %&gt;) R5 [0 w5 G& k# R
&lt;%@ page import="java.io.*" %&gt;
( {2 r9 `# i( ]! Z4 S0 d&lt;HTML&gt;
$ G& [3 Q- d6 I- Z&lt;HEAD&gt;
) g/ V, k  W2 k$ t& F3 H' D0 Y&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;! w  }4 G: _& q: T9 e
&lt;/HEAD&gt;
5 t0 k& |0 f% z  z&lt;BODY&gt;2 k/ y6 I$ {) Q7 _9 x% K% C
&lt;CENTER&gt;5 Q; {! ~8 j% y0 T: ?
&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;
) U) I$ A7 j  ^; }( S&lt;/CENTER&gt;
3 V" d  w4 D8 B&lt;BR&gt;- j  {0 V- j* i
&lt;HR&gt;! H+ U! H3 x6 _7 g$ N* a
&lt;BR&gt;( h/ \7 D0 b2 |) o% N
&lt;%# U7 F3 J( O; r
String path = request.getRealPath("/jsphosting/wenjian");
" i5 P( D8 s/ [* ]//取得目前目录在伺服端的实际位置
) J# }& s, P3 V. F- U8 V, LFileReader fr = new FileReader(path + "\File.txt");
( E+ R0 [' W7 ^  N5 M1 C2 t2 f //建立FileReader变量,并设定由fr变量变数引用
6 M$ ~& B- q2 mint c = fr.read();
+ u, P1 ]! _: w  `- i" Y8 x; A //从文件中读取一个字节
2 ~7 Q1 f6 H( g% Q- c& g& {3 F& Swhile(c != -1) ! Q# I+ q4 |4 B: M) c3 n% s
//判断是否已读到文件的结尾) x* T6 X1 v6 S8 `9 Y6 K' P+ }  i
{
( I; P3 b+ r$ h6 zout.print((char)c); * G7 O) v4 d! H* K& Y+ z
//输出读取到的数据 1 P( a8 Y2 w- J3 l8 P- O- h2 x  O
c = fr.read(); - L9 S3 a' G/ B% n1 V
//从文件中读取数据
$ Z3 {' L! o; K8 k6 `2 Vif(c == 13)   Y! O! V- l3 B
//判断是否为断行字节
7 q) R1 q, M% i. g3 P{* U9 V1 m- i; n& H
out.print("&lt;BR&gt;");2 e1 X, K; y( g/ x& m( {
//输出分行标签
7 d1 j$ k4 S' h5 F  gfr.skip(1);
- r$ C: g- ?" g: l' A8 P//略过一个字节( Q7 h5 X, R, E) J' _# F
c = fr.read();
' f$ ~9 z2 R( T4 c* A# d//读取一个字节
$ H- t  H3 [: P: u" m2 V7 v5 t}# u; Q' s) f) U( p" Z/ H- b
}5 X1 [. Y+ j, g% t
//关闭文件
# J- a, y! C" j2 H. l) d1 Hfr.close();
. L3 }9 J/ Y+ {& g$ r+ Z2 q- ~%&gt;) |0 W3 M! |! v: {# n8 V6 T2 z% B
&lt;/BODY&gt;- i. l  L4 s, p+ M# T
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>
8 c% N6 t- j; W( v/ S; e% O8 u<CENTER><CCID_NOBR>
' x" u1 X! P+ {6 H<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
& Z: W) W2 H1 v! H; L" n% ]9 w/ r5 Y: v# ^0 ]3 H1 _. o
<TR>, B3 [! f6 Y0 T8 s; F( l7 P
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
2 ?& m4 ?( i- W+ W' y2 `&lt;%@ page language="java" %&gt;
8 _# B* D1 v5 E6 a&lt;%@ page import="java.io.*" %&gt;, E! }, ~' R/ l3 h* r1 j
&lt;HTML&gt;2 v7 U% `. W8 a, l) J" U& b4 a
&lt;HEAD&gt;
! }( @5 U) ?( u' n5 d3 E7 A&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;- ?( [! G( |# }4 T! V0 J, \4 x$ J. V
&lt;/HEAD&gt;
6 {1 N5 _  [% Z& y&lt;BODY&gt;% e% ^# c' q4 @5 i, Y" M; v, P
&lt;CENTER&gt;
7 S$ Z- E9 W( Z9 {2 L8 `% A&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;% _6 p0 y! d' `) H
&lt;/CENTER&gt;
1 o0 k" ?" C7 p; e4 Z  M6 s&lt;BR&gt;9 ^  O" P% ^  a2 s
&lt;HR&gt;* @% u/ p5 Y. e6 C" y9 }
&lt;BR&gt;
% x7 j% ^; D6 M  @# j&lt;%! A7 `, i: Q; T+ u* Y. }5 I
String path = request.getRealPath("/jsphosting/wenjian");
  Y) I/ {% m- p' a, Y! V3 I; S- h  F//取得目前目录在伺服端的实际位置4 P. d  l. G# i
FileWriter fw = new FileWriter(path + "\File.txt"); ) ~( n: b) {) M$ s( h
//建立FileWrite对象,并设定由fw对象变量引用4 t+ a  y6 K* f$ p: s- M
//将字串写入文件4 {/ o& h' U7 O- n2 g- g7 l
fw.write("大家好!");8 d- o; i6 u5 U& ~3 y% K; I
fw.write("祝大家学习jsp愉快!");( @1 t) j) h+ L+ {3 \) f  I
fw.write("希望大家能够深入了解jsp技术!");
! D+ K) Y8 ~( c/ u* N2 ifw.close();
2 A+ l! D( V( `0 k% d//关闭文件
5 q) r+ }6 @% j9 \# B! w- V%&gt;
3 o, B# ^3 K: i9 C9 a&lt&gt;写入文件内容为&lt;/P&gt;: S2 |% u/ h1 I5 P
&lt;FONT SIZE = 4 COLOR = red&gt;* b5 v& d0 D( w& c* w
&lt;%
3 p' {  O- Z  z8 V4 j, N4 j- _FileReader fr = new FileReader(path + "\File.txt");
1 l  L% p. Q3 o$ i//建立FileReader对象,并设定由fr对象变量引用
/ o( D  F: q0 J* W' T1 _1 I% p9 |BufferedReader br = new BufferedReader(fr); 0 k# Y! j) f' V+ Y8 u* ]
//建立BufferedReader对象,并设定由br对象变量引用/ e7 ^- K  I5 {# u* E+ c# l8 {7 [) d8 m
String Line = br.readLine(); 0 v( V/ a7 k, A. R, q5 V) c
//读取一行数据# `3 G9 Q! D0 X1 ~  X( B, N
out.println(Line + "&lt;BR&gt;"); 9 ?' y5 M* w" Y# U% J; u
//输出读取得的数据
7 a$ s9 C( ]1 A3 u, Xbr.close();  ~0 ^  J$ v6 H' F( x
//关闭BufferedReader对象
( i. D8 n+ o' [6 o5 o" W6 sfr.close();
2 {, z, \/ f* b! [7 Z- g9 [/ F //关闭文件
9 R2 h: B- r/ @. g%&gt;$ f( p- ~7 }. N
&lt;/FONT&gt;% r4 o2 I. H+ t- C; _. M2 h
&lt;/BODY&gt;
" {' b/ f% @' N# @- s2 F3 @&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