QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 3697|回复: 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>' F* _1 u  b3 J( I8 p
<CENTER><CCID_NOBR>0 y; y7 }2 j) h4 {
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>1 _: s, U- A+ n( F/ K6 H
/ `: X. R. U* @! K9 C6 S9 [$ t
<TR>
- h! e3 h/ N4 V1 W$ {3 p<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;
! y: D( k5 U7 V&lt;%@ page import="java.io.*" %&gt;
' g. V( a/ w( r9 p7 F4 @8 B&lt;%@ page language="java" %&gt;- S$ I: H# V) M5 [
&lt;HTML&gt;; V& {) c8 i6 _! ]( h$ Y" q7 P( X
&lt;HEAD&gt;! t  u2 a+ M$ N3 T# h
&lt;TITLE&gt;文件的建立与删除&lt;/TITLE&gt;. Q; w1 V6 u  [
&lt;/HEAD&gt;9 [1 r! Z, h/ p' |3 @0 c) B
&lt;BODY&gt;- _7 ^6 a* x/ [7 Z3 p" J' l3 N9 K
&lt;CENTER&gt;
) Z, q5 e/ Y0 E3 `" r; Y* Z# }0 x&lt;FONT SIZE = 5 COLOR = blue&gt;文件的建立与删除&lt;/FONT&gt;! W+ @" _" U$ W3 Y( u. Y
&lt;/CENTER&gt;
7 E1 D# Q5 E. t9 W. L' s: ?6 s4 ^&lt;BR&gt;
1 d' R$ r  R6 @' j$ d; j&lt;HR&gt;* U" O1 ]/ K3 s/ {
&lt;BR&gt;+ b! U1 X. \8 `7 A
&lt;%- M* y9 [6 U0 y; k4 f
//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用
" l# l* Q4 Q; F" T3 l" g! I" }String path = request.getRealPath("/jsphosting/wenjian");
' i( c6 r* {8 n3 U# {. ]File fileName = new File(path, "File.txt");& Q3 F0 L8 W5 x! `8 F6 e
//检查File.txt是否存在0 b4 }  _; V6 g& w: y! L
if(fileName.exists())+ K; i6 F# A3 F& A
{7 Y' g! p- m; R* ~5 E; d3 l8 D3 s' ~
//删除File.txt档
- {8 e4 R  z: H3 q( Y4 _1 DfileName.delete();
' o2 U2 A2 f6 }//输出目前所在的目录路径
  M% W- H' K$ u8 l* F9 K$ Kout.println(path + "\File.txt");
: }0 H$ a- H8 b1 k8 C%&gt;
# Y+ A) _7 ^, W( |& C7 k+ F&lt;FONT SIZE = 4 COLOR = red&gt;存在&lt;/FONT&gt;, 已完成
0 k& }! I0 m+ m# E% r- L% o&lt;FONT SIZE = 4 COLOR = red&gt;删除&lt;/FONT&gt;
" G* Q' S1 X  R# C# j&lt;%& q& m. f: h' T3 ]/ y3 }/ Z1 D
}
' ?1 B2 j% c1 K% o% N; N( u; Delse
1 v: N0 E: m) x7 r3 Z" s" Y" {{
) G0 |7 E* {' G//在目前的目录下建立一个名为File.txt的文字档
! O! u4 A8 ?9 r1 e" N4 jfileName.createNewFile();, W- F) T; Q1 ]' r+ w
//输出目前所在的目录路径
/ H7 e1 V  E1 a$ _- _8 Y6 m: vout.println(path + "\File.txt");
7 _5 v; N1 m( ?/ D/ Z%&gt;" C1 Z" V2 p0 e) E; C( D. G
&lt;FONT SIZE = 4 COLOR = red&gt;不存在&lt;/FONT&gt;, 已完成
( x: S7 a* u6 l1 N. @% \* b0 D- Y&lt;FONT SIZE = 4 COLOR = red&gt;建立&lt;/FONT&gt;
& a, t: u( `& ?  s2 k4 d4 D&lt;%# c0 K% E# K2 G, q, G% V' p/ _( m
}
% C! B1 V) a( E6 w* \" \! X" }/ }%&gt;& l$ V& a% Y) R2 O1 `8 G
&lt;/BODY&gt;
. \2 p* d' Q, d- Z&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>
; M% c! d3 G- p* Y! Y6 F<CENTER><CCID_NOBR>. ]# ^" L$ U+ D, y
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>/ o: B, f) Q4 n* [

( `2 G6 i' _3 _- z- {) {/ B<TR>
! G/ R) f2 [( ~) Y/ z( w<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;% E  }) x" ^+ ?
&lt;%@ page language="java" %&gt;! r) p; R* ~  c
&lt;%@ page import="java.io.*" %&gt;% @% Y( V. d+ l1 `: O% k7 ?
&lt;HTML&gt;2 n4 l+ @3 G4 X+ B. L
&lt;HEAD&gt;: R, U5 h6 t, p8 t/ S
&lt;TITLE&gt;取得目录中的文件&lt;/TITLE&gt;+ M1 }  B3 f. R& z9 M$ w7 p+ C2 }
&lt;/HEAD&gt;* Z/ l: E. Z. I
&lt;BODY&gt;
7 u4 x: n) b' ^  @7 ?. J4 @* o&lt;CENTER&gt;' L. N' x$ l" ?3 D; w5 k
&lt;FONT SIZE = 5 COLOR = blue&gt;取得目录中的文件&lt;/FONT&gt;8 i2 r& v+ j4 T/ L
&lt;/CENTER&gt;4 _) B) b  Z/ T, p  t( v- B' C
&lt;BR&gt;
: D6 l* [' q* U$ q5 m5 D0 z& z# o&lt;HR&gt;: K% G4 t1 k6 v% ~. l6 M
&lt;BR&gt;
2 ?+ w, y7 ]% v&lt;%3 y% {5 f+ u& |8 q  T% l9 v
//取得目前目录的磁盘目录. C- s0 {2 _4 Y$ t4 [) U
String path = request.getRealPath("/jsphosting/wenjian");* }; [9 ~3 A2 X* V
//建立代表目前目录位置的d变量
" |2 J( X  H4 O5 {File d = new File(path);$ B# U- @; F3 q8 r0 O7 |
//取得代表目录中所有文件
, S. h4 R2 A* p! |File list[] = d.listFiles();
+ ?; q5 S0 \  O( @3 y+ H0 U4 J%&gt;
0 _) Q- v8 g) _, T2 E/ s在&lt;Font color = red&gt;&lt;%= path%&gt;&lt;/Font&gt;目录下的文件有(每个文件有其相应的功能)&lt;BR&gt;
' H. c, f. n  L( A5 n&lt;Font color = blue&gt;1 B& a, U6 i3 O' L  J
&lt;ul&gt;. J4 p2 s; ]7 o. y
&lt;%1 _# |0 J0 Z0 N  |: J
for(int i=0; i &lt; list.length; i++)
% i! k  p$ |  k! L{9 q, I" F3 ?, _( U
%&gt;; K: Q3 a) W& B" ^: T) W' g
&lt;li&gt;&lt;%= list.getName() %&gt;&lt;BR&gt; 3 m5 K/ E/ h3 \5 o; p4 t8 }6 O
&lt;%
' _" Z1 H3 G) |! f  v& V$ G}
; M2 K5 D2 n0 B0 ]/ {9 Y%&gt;* t5 U. H7 E% A& _: d% {; ]2 t0 Y
&lt;/ul&gt;
1 U9 Z$ C& |8 `( G. {1 g1 @3 v: M7 e&lt;/Font&gt;6 q" l! V6 [/ h/ H. m9 |
&lt;/BODY&gt;. k( A4 w+ T; u) L9 l6 w$ l
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>: Q' T" o* I5 K, {* I
<CENTER><CCID_NOBR>% J# Y* f7 W4 l: \
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
/ _0 x. [9 h" w6 a6 g" B+ E
1 e8 i8 ?# B' d9 `! V2 n) f<TR>
+ V; k: t' R$ Q% M, L/ A( F<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312" %&gt;( E* l' v+ T1 u
&lt;%@ page language="java" %&gt;
6 I  H. Q0 t; M$ Z4 c&lt;%@ page import="java.io.*" %&gt;
0 z2 @$ F% f& H! P9 u: k2 E5 D&lt;HTML&gt;
& W* d0 b/ N$ j$ A+ X1 x. E/ ?&lt;HEAD&gt;
% h! L% j" [- T+ l+ ~) I9 F5 l1 U&lt;TITLE&gt;读取文件内容&lt;/TITLE&gt;; q2 s5 l7 U: A* Y
&lt;/HEAD&gt;
  _9 u' n, x# E3 ~; F&lt;BODY&gt;
7 v$ E0 B+ s, N&lt;CENTER&gt;
( s9 q. ?, M) t&lt;FONT SIZE = 5 COLOR = blue&gt;读取文件内容&lt;/FONT&gt;1 L3 c. J3 {* I8 a4 w
&lt;/CENTER&gt;# g; I" f/ ]! W$ h4 b
&lt;BR&gt;
; l. `8 F0 S5 \4 t! ?&lt;HR&gt;
& @, H/ d7 P5 Z( _. B$ m. ~. |&lt;BR&gt;
$ J6 I- U0 J5 r5 G&lt;%, R8 t+ q7 Z0 o) @) ~2 N' R7 a
String path = request.getRealPath("/jsphosting/wenjian"); ; B: D% h- q8 ^) X9 C
//取得目前目录在伺服端的实际位置
, c: V* X6 Z1 P3 m8 C8 Q9 x/ zFileReader fr = new FileReader(path + "\File.txt");
1 t5 S3 m# |' V. e //建立FileReader变量,并设定由fr变量变数引用
  [' E; U6 Q; t; \$ ~+ Wint c = fr.read();
) i9 X3 z; ^: B, o //从文件中读取一个字节
+ |; n" h9 A# I# S3 W- q& cwhile(c != -1) , J( [2 q" q' U5 K. ~
//判断是否已读到文件的结尾
/ ]6 I: Z% \) m+ x( L{* c; H0 Q( y8 ?7 h
out.print((char)c);
4 H0 e; z; O1 u) x//输出读取到的数据 - G. R" r8 q+ A) f* I
c = fr.read();
4 d4 f& C2 l2 S2 N% L# G//从文件中读取数据* y, E4 ~( y) U9 `; ^
if(c == 13) $ p9 Q% L# ]& i4 @% @7 I% m- P! O# u" G- I
//判断是否为断行字节: I) k. x7 W: I# t/ p
{
+ g) J& S" V2 {' T" {  x4 E. s9 Mout.print("&lt;BR&gt;");/ ~4 F3 D+ [! W2 O5 ^( ~. p- e* T! Y
//输出分行标签
- F, ^- N, T6 x& v6 C: r, k  |fr.skip(1);
7 e. d7 B3 c: T3 H' @$ Y//略过一个字节7 x: G+ N* T5 }& W
c = fr.read(); ; ]: T+ w& d/ ]$ l' y
//读取一个字节
' i! v0 L9 f1 Y: L' b}6 Z) p! c: R9 k" a3 r9 A. b
}/ z. T& g- o( x3 z6 \# o6 r& _
//关闭文件1 ?* ?: P+ P7 n/ h
fr.close();
+ P% y5 P( y- E! f; c%&gt;/ Y+ p) s7 b% u, s3 y2 A
&lt;/BODY&gt;/ }% X- M2 \  `
&lt;/HTML&gt; </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>
1 b* m/ U  A3 Z9 ]/ J' B<CENTER><CCID_NOBR>  a/ d$ I! ]9 ]$ o3 _. |+ |, ~
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
0 `/ a$ j  s% B+ n: I" I0 M' M7 e0 p$ k# h; q6 O1 z7 o1 c
<TR>/ x: ^$ m( A/ m+ R3 {1 {
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><RE><CCID_CODE>&lt;%@ page contentType="text/html; charset=GB2312"%&gt;; _( a# R7 j: M$ Y) Y1 P
&lt;%@ page language="java" %&gt;& ^+ q: C# c% I/ I! x
&lt;%@ page import="java.io.*" %&gt;
7 ^5 G7 D/ |5 H4 ^( G' ~+ D: E, K&lt;HTML&gt;: s, K  ?* T" B- C
&lt;HEAD&gt;
2 k1 P% v* W+ K9 H/ i7 w&lt;TITLE&gt;将数据写入文件&lt;/TITLE&gt;2 y8 b* W8 g6 U' F6 w+ u( I. n5 J
&lt;/HEAD&gt;: L) q$ H7 b* G! Y4 @& h; _5 b& \
&lt;BODY&gt;. F0 s6 W6 ^! y+ U- a
&lt;CENTER&gt;
( B) \3 }, ]) n* S* n; ]* K  G) R&lt;FONT SIZE = 5 COLOR = blue&gt;将数据写入文件&lt;/FONT&gt;
1 f  A2 }; v5 X  [6 n&lt;/CENTER&gt;
& I# b, W# x" B& ^  J1 ~: w. M&lt;BR&gt;
" q1 p* K6 k; P! ]&lt;HR&gt;  r: l$ l: ^; f/ M7 |3 n" k" U* B
&lt;BR&gt;
2 a' s% X# _. I1 a) J* `7 x&lt;%
& r! x/ |! k4 ^+ FString path = request.getRealPath("/jsphosting/wenjian"); 5 H% _' C' g' Q1 i
//取得目前目录在伺服端的实际位置: {+ Q( p4 c* r( i
FileWriter fw = new FileWriter(path + "\File.txt"); # V# ]1 M" I8 N/ |$ N9 \& ~1 Q
//建立FileWrite对象,并设定由fw对象变量引用4 {0 Y# z$ m- _, E2 X
//将字串写入文件
8 d5 d3 K$ U" z8 o) l; E, Qfw.write("大家好!");
4 j& a5 \! J& A8 kfw.write("祝大家学习jsp愉快!");  P2 ?3 I# I! \
fw.write("希望大家能够深入了解jsp技术!");/ w9 C; I! ]/ g, `
fw.close();
: U2 P% p4 s1 Y2 w; S2 p//关闭文件
$ C0 G( I& L1 F8 j( H%&gt;! B! Y: G- g7 i2 u# B
&lt&gt;写入文件内容为&lt;/P&gt;
4 W9 d5 t& y4 v5 T( i  _&lt;FONT SIZE = 4 COLOR = red&gt;- H- f& V; v. O% M# I& Y
&lt;%
% m8 @7 b8 ]: L7 E; v' g3 `FileReader fr = new FileReader(path + "\File.txt");
. T+ I/ Y, k& U% H6 a) P//建立FileReader对象,并设定由fr对象变量引用7 D- v- I4 B  y
BufferedReader br = new BufferedReader(fr);
: _3 B6 W5 r# }" f//建立BufferedReader对象,并设定由br对象变量引用; u+ c' `6 h7 a  W# x" j0 X
String Line = br.readLine();
2 ]2 Y4 ^9 ?2 L' Z& k1 E* x//读取一行数据  F9 A/ ]# C& x
out.println(Line + "&lt;BR&gt;");
7 n' f% B* \0 v//输出读取得的数据
9 V9 _/ f+ P- Q* E, h9 s: Fbr.close();
( _0 }" V5 [0 g6 }  s7 v+ `5 u9 @ //关闭BufferedReader对象
( j6 \! O4 l! ?( r* H  Zfr.close();& i! _6 @) u6 C
//关闭文件7 A0 |/ U# f7 E# e9 Q! v+ [
%&gt;; P+ O; N! M7 ?* D. c# k
&lt;/FONT&gt;7 o% C4 u2 H; j% K
&lt;/BODY&gt;
# _$ f3 _: J( q. y3 j# w2 q) S* Q&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, 2025-8-14 05:28 , Processed in 0.615435 second(s), 51 queries .

回顶部