数学建模社区-数学中国

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

作者: kampoo    时间: 2005-12-30 20:22
标题: [网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>
( t5 r) s. w/ Z" e/ }# g/ b<CENTER><CCID_NOBR>
& `1 d0 R& S' t6 T6 h<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>7 t3 I' p2 \7 `- c; E7 y

3 v3 z, O* q( i. o* W<TR>
7 t( |  N- `3 n- n% ]+ h8 T6 J<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
' ?$ ^0 O2 n6 s0 |&lt;%@ page import="java.io.*" %&gt;: s# h: j( [. y, O# e# m3 ^! ?
&lt;%@ page language="java" %&gt;
2 Y- n5 ^( P) }# t9 A&lt;HTML&gt;( ~6 V1 L0 ^: f* t+ J6 x! y" e
&lt;HEAD&gt;: o" s+ U) q- L
&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;
, H  [5 V6 Y! e' m&lt;/HEAD&gt;
/ W$ x$ z" j2 [2 F2 Z; b& z) H( `&lt;BODY&gt;
! {( L8 z$ b9 \3 \&lt;CENTER&gt;! |0 s" P9 r- W1 w; V
&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;
) c& V6 X7 f  s( Y6 K0 [! S2 N&lt;/CENTER&gt;$ Y+ P& }/ a4 W
&lt;BR&gt;
) X: e, c8 {5 A, U&lt;HR&gt;
. Y) p" \9 y4 w) p/ _& Y2 k% k&lt;BR&gt;% ~& W0 a* c2 k$ [0 t# S& _
&lt;%, d' f, D$ @7 W* {% Q% H
//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用, L  k% Y: v( V- a2 a/ C0 N# X
String path = request.getRealPath("/jsphosting/wenjian");
* x8 y3 k0 o' G; H. y2 D# t. hFile fileName = new File(path, "File.txt");
6 ~. `- q+ W- _( q" }7 g) E5 e//检查File.txt是否存在
9 a' x/ W$ {* N% \) l% ]6 jif(fileName.exists())
- ]0 _/ c4 N/ J# K{
) R  d1 ], c0 ]# }: n" _//删除File.txt档
9 i/ \( W: f9 u: u$ |4 ifileName.delete();
6 O0 N. X" Q+ v+ ?8 @! ?0 Z/ a//输出目前所在的目录路径
4 I: K8 F! d. T5 ^1 g9 yout.println(path + "\File.txt");) Q: y. t; F) v/ p" l! l
%&gt;  d1 V& C6 a6 n: Q" o0 d) g
&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成
' i0 S1 k* o6 l) R5 v! a&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
& n" E* S3 D: j! d&lt;%2 J# U1 k& Y8 Y3 t. D) t5 U7 J
}
+ M, Z- X6 w2 q: k# welse
# F) Y7 i, s0 a% n% s& U{/ j" m7 V& z+ @3 |6 X
//在目前的目录下建立一个名为File.txt的文字档
$ E$ s* ?: G1 x; Q! BfileName.createNewFile();* `. \3 g2 j& `: P0 U+ D  N* F
//输出目前所在的目录路径" m; X3 O! S3 x3 ?/ R
out.println(path + "\File.txt");6 i) N! F" ^# e, a  ^
%&gt;0 p3 H! k& d6 R- f9 m3 g4 k2 p
&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成
  b( o+ G3 G! H) Q&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;
7 o; h4 U. s9 r& Y; g% E&lt;%3 m* N; e0 O0 N8 z
}
1 a0 X/ M; l' l3 T%&gt;+ C# ^# Q% B5 I6 q  s
&lt;/BODY&gt;, Q; V. a$ D1 C9 o# {
&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>
( x5 P) S+ v/ O3 @  C) o<CENTER><CCID_NOBR>7 s# q' i# p: x2 Z# N) s
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
, Z  \3 [/ p- a2 y, ?
' _- c' N, k/ K' `/ X<TR>
( F6 |. O2 C. a; u" J3 M<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;6 T3 y0 F( u! H  |4 D1 S
&lt;%@ page language="java" %&gt;
5 a- o( B0 T# `* }/ n6 ]! X$ |&lt;%@ page import="java.io.*" %&gt;
5 p- A  H3 K" q4 I&lt;HTML&gt;% u; p% ^- K+ x8 a2 Q& _4 J9 w" @
&lt;HEAD&gt;
8 w. i* i6 b6 Q( x&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;
0 {& l7 K3 s- `* j+ M&lt;/HEAD&gt;
4 Y# Y* l: b5 O& z2 v, b9 ^$ \; h&lt;BODY&gt;; x/ y# [2 Z' T
&lt;CENTER&gt;. A) V/ L+ }% h8 f; [
&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;
7 L/ z! S* ]) j&lt;/CENTER&gt;
4 `3 o7 w; W3 A8 c&lt;BR&gt;
/ T( G+ s4 Q, D4 X$ I&lt;HR&gt;  y8 Y# E$ p) x( P
&lt;BR&gt;' r3 Q4 ?; _% P0 }
&lt;%# v! H# E" h. m9 j  H. ^
//取得目前目录的磁盘目录+ S5 g( @4 G; x8 \
String path = request.getRealPath("/jsphosting/wenjian");+ \6 H) B. g! Z8 @' C( s
//建立代表目前目录位置的d变量: {! v0 {3 {7 U# h; X( k
File d = new File(path);
/ ~3 H6 }+ x4 ?: _. _//取得代表目录中所有文件6 l: s8 |& h) ^* \+ N# u
File list[] = d.listFiles();
" u6 o: M- U6 y% M4 G5 c( T%&gt;
$ |8 d' s5 z) R5 Y& D( v在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;( B/ ^" Y- K0 Q% ^4 ?
&lt;Font color = blue&gt;
( L: v+ [3 z4 ?: _&lt;ul&gt;
5 b4 X. V4 \% C# ^&lt;%
7 L' ~& t: h3 o% S( r$ ofor(int i=0; i &lt; list.length; i++)" X  q& N! b4 I4 _3 T7 K
{
% _3 k) l- v' h8 v6 |. j# A8 s/ i6 Q%&gt;
4 H+ h6 b. l- Z0 O5 F2 g&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt;
6 p; B0 E  @# k) k5 V- d&lt;%: X% K1 H+ B' n( S
}( X- z2 G0 a& u7 u% j1 l6 m
%&gt;' t, g- U( {9 c& b5 X
&lt;/ul&gt;( F, H1 o" t; O2 ]
&lt;/Font&gt;/ W8 s) C0 S  J- |2 o
&lt;/BODY&gt;
- B9 V* L6 B/ w0 _( m&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>
2 P' L7 J2 V1 C7 l<CENTER><CCID_NOBR>
' Y  B8 |* U: S<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>- d. v/ c- w& K3 H' f
* v0 D  v) b. D
<TR>2 F& f! ?- s" V  Y  Z; S% H
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;
4 O8 s: C8 Q# P- t8 w&lt;%@ page language="java" %&gt;2 s' j, j' P/ A( {' i% E4 s: b
&lt;%@ page import="java.io.*" %&gt;
+ G- y- n# G6 Z' m/ L: w) j& e. x&lt;HTML&gt;% t, x6 ?6 x! U) L
&lt;HEAD&gt;
( ?/ e) v0 q) k4 Z: {&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;7 x- ^$ G( m& p& ]. N3 ?4 h
&lt;/HEAD&gt;( a4 P( j" ^# i; a' X( r
&lt;BODY&gt;
1 z% g4 x8 k) }3 A* h4 S&lt;CENTER&gt;* O7 {) S4 w" g0 V
&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;; i  r# F4 l0 Z3 h' H
&lt;/CENTER&gt;, G- `3 {4 G' K; r. O* m5 L6 l' `* G' z
&lt;BR&gt;
, j+ B6 ^$ p! @1 f, t&lt;HR&gt;, n0 @1 O9 p2 ]
&lt;BR&gt;5 T2 O+ U# J4 y3 y
&lt;%
. [1 O$ O8 z  X+ gString path = request.getRealPath("/jsphosting/wenjian"); 6 N  M  \6 H1 l7 u) \3 u
//取得目前目录在伺服端的实际位置
: ^$ B1 T6 f: t, X, P, YFileReader fr = new FileReader(path + "\File.txt");" M( k1 Q- s3 F" ~+ R. C
//建立FileReader变量,并设定由fr变量变数引用
: E7 P. y! t- t# q5 L5 qint c = fr.read();
" ~5 x5 X" @" J* \  P2 c/ \ //从文件中读取一个字节
/ L8 t: A: ?) G, jwhile(c != -1)
6 l4 S- S: W' c% B% c6 X//判断是否已读到文件的结尾
3 D+ G2 R) K! a8 `* D5 G{
. x! w+ ?5 w) w5 |2 M/ V- Z8 Iout.print((char)c);
7 d- q3 Z% X1 o//输出读取到的数据   @; G& e( x; }+ k
c = fr.read();
& B: I" S0 g+ M+ P//从文件中读取数据2 X; ?  s0 f$ ~  m# T4 ^
if(c == 13) , L( m8 D. [9 M
//判断是否为断行字节
  m* M1 [% I/ T0 a, N9 A{
: j7 B8 G4 o/ q* |out.print("&lt;BR&gt;");. p( H0 w3 a8 v* A
//输出分行标签
/ J& s7 w" u& S( Q' [% Afr.skip(1); 1 A, n: q* e9 Y- {
//略过一个字节
. f4 S& J5 v( a' g7 f9 G8 cc = fr.read();
( L2 B+ x  \# `8 ~" e//读取一个字节, t( B/ S: |: W3 F% _4 j  ^, b  A$ S
}9 i# a5 K' S: W' r! o
}% m# O0 N6 r3 G: R
//关闭文件
2 l$ Q& a. L" V. s. @* o  z2 gfr.close();
2 W  X/ p1 I( I5 W3 m  @%&gt;1 l9 X$ n) k8 U0 R  Y' Q0 b
&lt;/BODY&gt;
5 \( Z% s' J6 B- u$ i+ C1 ^9 ?&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>, W$ I7 W& K* X% i5 h
<CENTER><CCID_NOBR>( n7 a; K2 u4 `% e
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>+ p3 l0 L5 M* J/ g- H
- A$ z5 ?" @; T% }$ N8 j0 e
<TR>
0 ~# @/ G$ _2 \% n; l2 T/ e# b& e, E0 Q<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;* j, _1 O9 T) M  E, f0 u1 [
&lt;%@ page language="java" %&gt;
0 b  i* M; K1 H& s* L5 G1 a&lt;%@ page import="java.io.*" %&gt;
% U# N8 F8 J4 f( @" b&lt;HTML&gt;" ]; l& r5 P7 X2 Y6 W8 R8 V
&lt;HEAD&gt;( T' M1 \" g# Y$ y
&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;
2 X3 Y$ [+ C2 Y) M- l- J; E. L5 E&lt;/HEAD&gt;
! d  j) l) G) X9 P( n&lt;BODY&gt;0 o  i1 g+ V1 ~+ _% ]$ \; m
&lt;CENTER&gt;
# D1 A* [# {( C; l$ b# }&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;5 {+ I0 V! E% f1 B) i6 |
&lt;/CENTER&gt;$ V7 X( Y1 z9 i, h9 ]( I
&lt;BR&gt;
9 ~2 \$ t$ y; A4 Y5 Q&lt;HR&gt;' ]+ R' Q' q2 F
&lt;BR&gt;$ C  k) J, z; o/ h$ u
&lt;%
# \5 l" r9 P0 e% n& CString path = request.getRealPath("/jsphosting/wenjian");   S& g  u9 f6 P( ~3 X# J
//取得目前目录在伺服端的实际位置
- \' Y/ [; |4 B% h; u# A2 n& |FileWriter fw = new FileWriter(path + "\File.txt"); * ~# p0 ]9 a- ^! n1 i
//建立FileWrite对象,并设定由fw对象变量引用
% p8 }; J% ~; _# R( p# r//将字串写入文件
4 v3 O) W- R/ ]5 o9 |fw.write("大家好!");  Z- m! I: a- |, N# f9 E
fw.write("祝大家学习jsp愉快!");6 u$ }8 o2 B+ T4 H1 ]6 a$ p
fw.write("希望大家能够深入了解jsp技术!");+ L1 c( O0 F6 o& r" y
fw.close(); 9 w& W- n& O6 _( V
//关闭文件0 z. U8 ?; l2 X" H8 {
%&gt;
, B6 P3 A3 ~& r4 C' {6 M2 z) C&lt&gt;写入文件内容为&lt;/P&gt;: V$ D. E7 h6 h: `
&lt;FONT SIZE = 4 COLOR = red&gt;
4 j& ?, h% h, o4 Y  S&lt;%
! S/ g* ^) D. x# H+ `, ^" `& b& mFileReader fr = new FileReader(path + "\File.txt");
& m5 _; P; R( \4 Y' ~+ W( y//建立FileReader对象,并设定由fr对象变量引用) Y; @0 m5 s& d" S
BufferedReader br = new BufferedReader(fr); , w0 y6 n; e5 E: f$ E
//建立BufferedReader对象,并设定由br对象变量引用
$ {3 N7 H8 Z, S5 b6 H8 uString Line = br.readLine();
, A5 {$ k( D: e5 b//读取一行数据
$ {6 B% \9 c4 J. j; lout.println(Line + "&lt;BR&gt;");
9 i3 {: |. j) `8 Q! x( G//输出读取得的数据8 Y9 _; ^; r" T4 Z7 H" x* G
br.close();
/ t# K( S' C: D* C4 f! D6 w, Z //关闭BufferedReader对象
  t- y5 S' s3 E3 \fr.close();
: F6 o  J6 X: w6 Z- n4 k% o3 Y2 E //关闭文件
. K% y( q$ f" c; g%&gt;$ N1 {' G. s7 W! R
&lt;/FONT&gt;5 l& Q- E  c# j5 s
&lt;/BODY&gt;
4 y$ X/ e/ h1 `+ b4 U% O& k&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