数学建模社区-数学中国

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

作者: kampoo    时间: 2005-12-30 20:22
标题: [网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>
& p/ \& F' ^* a9 T; c! q7 o1 T<CENTER><CCID_NOBR>
6 y' A4 i6 _% B$ l! V" q4 V<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>+ {) h7 y' T& P5 d, c8 r% x
2 y3 W% e# i( L3 z& E  _9 k# b
<TR>
2 d. I* F8 N9 k6 |8 C<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;! W# h# f: O" [3 S5 L: T& s# L. ~. h
&lt;%@ page import="java.io.*" %&gt;9 X9 N- e' a5 l
&lt;%@ page language="java" %&gt;( X, L% f; D5 L2 ?* D. N
&lt;HTML&gt;2 _/ }' _8 F- E* {* a" A
&lt;HEAD&gt;1 G8 v; u- o9 T: B+ ~& p% W$ Q8 D
&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;! A0 r7 v, s& G. F$ R
&lt;/HEAD&gt;/ |, b: t% X9 }4 l2 R! j5 j
&lt;BODY&gt;# N9 p5 R9 y: F. ]3 q. k5 c
&lt;CENTER&gt;. C+ ^/ q; r5 f' J9 Y, s; ~
&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
3 t) _3 Z9 g! S, A9 K&lt;/CENTER&gt;9 q) D+ [. ]0 T
&lt;BR&gt;% d% h! F5 D; d9 d/ \9 V4 l- e
&lt;HR&gt;0 J. Z" |: c! P# G) _" g
&lt;BR&gt;: d6 J: L5 o$ g# [1 K1 f0 t
&lt;%1 l5 f5 }. d( ?
//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用
" R- n8 \& M" g" T. v) q* }/ xString path = request.getRealPath("/jsphosting/wenjian");
1 i, O- _% O7 D6 j2 c, {6 wFile fileName = new File(path, "File.txt");& w2 M' U! Z& m
//检查File.txt是否存在( D* F1 o6 u& L9 @# y
if(fileName.exists())- V  Y+ H- x: ~
{
& r% o) S1 K, w//删除File.txt档8 w# X% ^+ H6 y. b+ t; X
fileName.delete();! s3 j$ O, ~3 a7 T# \7 }
//输出目前所在的目录路径
4 V/ F+ G8 Q$ iout.println(path + "\File.txt");$ O0 E) t) ~' l) @7 L
%&gt;* V' O9 T, x: P# B! l0 A, q
&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成
! R4 {* U+ o+ C; N9 w. f) W&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
# y6 \) b1 S! H+ A4 k; F2 L- Q, f&lt;%% z& \7 E5 o+ H6 i5 M2 \
}0 J3 d1 J2 ~9 j0 v, f  }0 a1 z1 D: M! o
else
. ]- b& m9 Q; R3 z9 ^0 B7 R{+ x5 y* C& w* l6 J% a# G
//在目前的目录下建立一个名为File.txt的文字档
) {4 s- W, o7 r$ M2 ufileName.createNewFile();. G( z3 A4 l9 K
//输出目前所在的目录路径
- _- k; c% O$ \out.println(path + "\File.txt");! y& `! J* b3 r' K) N
%&gt;
- v4 @% c0 f6 h9 z/ q8 i2 m&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成1 F5 Q# a8 c/ e$ ~
&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;9 q: @, u( q, K5 g
&lt;%
0 M8 E+ I4 ]. a, ?& Q- ?- }}
0 _  Q, `! l" B  a/ k/ G%&gt;, p+ S* A/ L& G0 y% j, K
&lt;/BODY&gt;" N( g9 h5 T! O/ m  D2 {5 Y
&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># s9 B4 C" o4 R* t' Z. a4 Q
<CENTER><CCID_NOBR>: @( Q; y" X  O, U# s- J+ ^
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>! \% K- ^4 d8 D! V+ L6 o8 e

7 I; O% G8 R3 {7 _<TR>
8 h2 J# U7 t7 {<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
# S3 z4 J9 h) m&lt;%@ page language="java" %&gt;
/ v/ h) n" j/ V1 |3 |' O* o3 U; u&lt;%@ page import="java.io.*" %&gt;% i. @! |2 N/ K5 \2 O1 t
&lt;HTML&gt;8 }8 g8 k7 e- M+ O! H
&lt;HEAD&gt;/ d' o; W% _; Y" T9 @5 L
&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;2 f+ H3 V+ T1 i6 E, t& W/ a2 t" K& s6 V
&lt;/HEAD&gt;
) V3 \9 M# }% a) A( e5 H6 W&lt;BODY&gt;, r0 W; ?) F) M  J9 s7 K/ Z
&lt;CENTER&gt;+ \0 A8 m% g. H
&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;
$ J& J& B. }$ o&lt;/CENTER&gt;
5 h3 X* A9 t; Y7 z2 ?6 }&lt;BR&gt;% L& M9 P& V9 ^/ j4 ?# A
&lt;HR&gt;$ x! ~0 q$ ?: R" f
&lt;BR&gt;
/ [" g( n2 ]/ t" s$ N# ]) Y&lt;%
& `/ _' J+ j$ E' `+ ~' X5 [4 i  J//取得目前目录的磁盘目录
, }; N3 N7 Z9 H- C' |6 fString path = request.getRealPath("/jsphosting/wenjian");" l( H+ v' [' K5 L
//建立代表目前目录位置的d变量$ M" X8 n' R2 q2 n: _
File d = new File(path);
+ n8 y, I* y% `$ a; b7 E//取得代表目录中所有文件1 u$ h2 C+ K) Q  ]& w) L0 O7 y
File list[] = d.listFiles();3 n0 t% n5 i$ T6 X4 t4 k( b, o
%&gt;
  J. P+ E; M9 O在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;8 y6 L( N% _6 y# Z+ L
&lt;Font color = blue&gt;8 _+ s0 `% P9 |% M" r
&lt;ul&gt;$ f0 K# h' T' p9 p4 x
&lt;%
' g0 C2 B/ ?, }for(int i=0; i &lt; list.length; i++)7 Q- j9 [3 r3 A6 M
{$ z$ v8 k6 v4 N0 |
%&gt;4 q" _4 X: O0 \5 c2 K: T
&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt;
. C! Q2 T0 t0 L0 R- U7 a&lt;%
3 {( b- R2 k) r# e) f$ }, p) }8 `7 r}
5 H1 g/ p& h6 T$ t+ x; U4 [5 W%&gt;
% F% J9 |; y2 d" t( M4 R7 j&lt;/ul&gt;
8 g, Q* ^7 T0 f8 s! Q9 k" R7 I&lt;/Font&gt;
4 d: i" s& X$ L/ v2 J2 }&lt;/BODY&gt;6 `+ O. j& I! n4 Y7 g6 o
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>
7 a; L& v! h& i. o0 I4 A. f, u<CENTER><CCID_NOBR>  V  {3 m% F2 S8 N3 |; w" g9 j
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
! ?& C1 u1 K7 E: v6 C2 v4 R
2 L' G+ R1 |+ j+ q<TR>
2 }8 c! T& W8 y6 n' Q* E6 w4 ^& Z<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;
& j! t2 R; ~/ E6 e4 u# \3 v&lt;%@ page language="java" %&gt;8 _9 L! Z6 P' i' S& e; I& b
&lt;%@ page import="java.io.*" %&gt;
: J) u. a& J" }1 ~( O: }&lt;HTML&gt;1 L/ _; G/ \: U5 N4 F, H
&lt;HEAD&gt;/ E" y: b& s9 P! @: J
&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;
! n2 j' Z! Y) l1 g&lt;/HEAD&gt;6 i9 P/ e  I: x  D4 u# ^) x) }
&lt;BODY&gt;
( b% x' x9 ~! D8 ^&lt;CENTER&gt;3 w1 j2 v2 h: x0 A. J2 n
&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;
4 q4 C+ Z# m. z1 x&lt;/CENTER&gt;' \. q/ s6 R- ?. Y
&lt;BR&gt;( Q- K& R0 r/ [" g) y
&lt;HR&gt;
9 O, G/ \) X: Z  e7 h  l" g/ X&lt;BR&gt;
4 H, g9 z  F0 k" P& D( j1 m/ h  }0 T&lt;%/ i. g5 h9 _. P( N% z# n' b' M
String path = request.getRealPath("/jsphosting/wenjian"); 4 b2 W3 {$ W' }7 Z9 [7 {3 a1 f7 c
//取得目前目录在伺服端的实际位置. d- O9 E/ u% X" e; H2 G( W
FileReader fr = new FileReader(path + "\File.txt");7 D+ c- e  v- q* ~/ a; l
//建立FileReader变量,并设定由fr变量变数引用
7 D* [; {) `$ p- G% h5 s9 Rint c = fr.read();8 {0 n; m  P+ f
//从文件中读取一个字节6 @0 c7 O/ v1 C; r
while(c != -1)
5 i- K. y5 N" n//判断是否已读到文件的结尾
1 M* Q7 u9 Y4 z{: }' s1 d) Z8 f% r/ E- f
out.print((char)c);
: N5 E  G% V" u* [//输出读取到的数据
, q% \* {5 S) kc = fr.read();
; T" J% q5 g, s- r7 _" F4 A//从文件中读取数据
5 @, Z1 ~( u5 ]1 nif(c == 13)
. Q+ Z& a3 A, \' g9 `//判断是否为断行字节
- k0 d$ ^6 ^' s. w6 S* Z{
7 t0 }' |* q, `+ q. ~out.print("&lt;BR&gt;");
+ X' `8 q- G9 L5 p //输出分行标签
: t& ^  r. Q0 [% p" M8 P) cfr.skip(1);
9 C% A* G& E) C7 M+ C//略过一个字节" o$ P1 H. V+ p- W% ~: x7 t6 u. N
c = fr.read();
% }, F+ H% Y# w) x3 n, e9 k" r//读取一个字节
) O5 |6 t& A- m* g; y! g4 f}1 {' ~! o" I4 n2 _
}
: f+ ~% M1 }. d7 d) i//关闭文件8 L7 g( P5 @! D
fr.close();4 j0 K7 X6 X$ v
%&gt;
1 `5 h: N' w# d6 m$ a% U( S&lt;/BODY&gt;
8 |- _6 {# L) u5 A! y, h&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>: B9 ~7 \2 w8 h
<CENTER><CCID_NOBR>
( _, H& a3 ]2 A, u<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>. G. P4 l% D  D1 T1 Q3 y; v' O

/ X+ W1 ^2 A2 n, {/ @; q1 _<TR>
. y1 ^& [% r: O+ P& l<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;. c2 Z  w! y0 n/ H
&lt;%@ page language="java" %&gt;
$ `! Z7 l0 p. b+ F, U, w( _1 q$ S&lt;%@ page import="java.io.*" %&gt;
! V# g0 [0 O$ Z9 @4 z3 y&lt;HTML&gt;
' G4 k, ?% p0 z&lt;HEAD&gt;! @  D; N% q! l8 P" I- b5 Y
&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;
( Z6 M& P+ h8 q&lt;/HEAD&gt;' s0 n7 ?# z. k4 G+ H+ j% v. y# o
&lt;BODY&gt;
6 D0 [8 u  x& c4 X&lt;CENTER&gt;
! s% X) @) Y' v0 G9 P. x4 f; Z&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;  {+ f$ n* A( ^# A* D( c. X' O
&lt;/CENTER&gt;
  w5 x4 M8 b% N: ?1 P; P  N/ J& ], O&lt;BR&gt;+ W9 d1 `. t& c6 {
&lt;HR&gt;  x8 N6 n2 U( p
&lt;BR&gt;( W  N! s/ w  N- e& W2 m) d3 N: {) I
&lt;%
5 V5 d7 v) l1 _9 {9 V( p) x2 j1 wString path = request.getRealPath("/jsphosting/wenjian"); 6 u+ y+ _. c% Y6 p* R/ a- D4 e8 p
//取得目前目录在伺服端的实际位置
6 v- c7 y2 o. s1 X+ H# `FileWriter fw = new FileWriter(path + "\File.txt"); : t) d9 l6 N' |: Y3 J! p( D
//建立FileWrite对象,并设定由fw对象变量引用
' r0 \9 k1 n7 G* C  G//将字串写入文件
6 @4 Y2 }5 V1 |/ Bfw.write("大家好!");6 u1 a( \& H5 w
fw.write("祝大家学习jsp愉快!");1 n. D' s" c2 C. _4 i9 k* |$ Z, r9 x
fw.write("希望大家能够深入了解jsp技术!");
$ _: Q- ]8 S& ?3 Wfw.close();
  Z! U- V& v' m. \3 ~% c8 Q9 b//关闭文件) i' M$ d4 ]! u
%&gt;/ U8 B$ z2 U" {1 ^! g: f
&lt&gt;写入文件内容为&lt;/P&gt;  N; A! O- r! m& d
&lt;FONT SIZE = 4 COLOR = red&gt;, N. S& Z3 W) b- Q) Z$ a
&lt;%
# v* u8 k5 V! a! y0 L/ J2 Z* cFileReader fr = new FileReader(path + "\File.txt");
7 s4 K$ C% o# ~2 `//建立FileReader对象,并设定由fr对象变量引用
' d+ w* @9 L+ D9 h1 r7 U2 RBufferedReader br = new BufferedReader(fr); 6 d& D- j0 g& s+ X. V, ]! h
//建立BufferedReader对象,并设定由br对象变量引用
  C+ v+ o+ P& d6 X, |String Line = br.readLine(); $ {" C& n' Z' n  d" r$ u- `/ T/ [
//读取一行数据
( g  K* U1 \, zout.println(Line + "&lt;BR&gt;"); 3 I* f5 @6 P7 P+ D8 l1 ?- w
//输出读取得的数据. J) i' N$ @! @5 o4 R. @& q. B
br.close();, `) Z. L8 J6 t8 g: P
//关闭BufferedReader对象
! H( F' I& G8 j  w+ ?: V: ofr.close();
, J' x8 R: E$ k4 b //关闭文件
/ N4 c& ]4 i+ k; y" O* O%&gt;
$ s0 l. |/ y, x% Y: f&lt;/FONT&gt;
+ T8 K5 a! e: n: \. X3 z8 f' _% m; S&lt;/BODY&gt;
2 I; ]( u6 k' a: @&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