数学建模社区-数学中国
标题:
[网摘]Java加油站:讲解文件的建立与删除
[打印本页]
作者:
kampoo
时间:
2005-12-30 20:22
标题:
[网摘]Java加油站:讲解文件的建立与删除
<DIV class=news_content>首先取得当前的磁盘路径,指定要建立的文件的路径,再进行检查,如果文件不存在,则建立这个文件,如果文件存在,则删除这个文件。<BR><BR>CreateDelete.jsp<BR><BR>
4 g* ]4 X; B0 c2 j7 T
<CENTER><CCID_NOBR>
* G2 ?9 h1 J$ T8 f' A
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
+ p" p: g& x, x( v' t' m
3 R$ Q$ @& w0 i0 a
<TR>
( t2 h6 K. b7 h6 ^8 g
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><
RE><CCID_CODE><%@ page contentType="text/html; charset=GB2312"%>
4 K1 {/ |+ Q! P. L/ p+ L/ Z5 m
<%@ page import="java.io.*" %>
6 @7 }7 J- Q! l' ?- ~' M0 J
<%@ page language="java" %>
* ^! c8 Z6 ^$ S, h3 c! E! H6 P
<HTML>
/ G1 w! S- i+ b1 ~
<HEAD>
# S7 @6 m- f- ?8 N. U
<TITLE>文件的建立与删除</TITLE>
8 j' |6 i. d2 b* {
</HEAD>
- B6 [% d* C5 d# W' ^' Y
<BODY>
7 U" D: H! C/ h& Q! e6 c* O
<CENTER>
% r' I( |- H: l5 T
<FONT SIZE = 5 COLOR = blue>文件的建立与删除</FONT>
- @% P& ~; E& v
</CENTER>
4 v- d+ W6 |- W) N- B) f `* n9 r8 c z" H
<BR>
5 M0 t8 K/ g$ \! ^$ J! x1 r6 A
<HR>
0 | z; T; u J: F* T1 M
<BR>
9 u" u9 b/ ^% e7 }
<%
% I; ?! Q- x4 }, U- V: G* s" f7 g
//建立代表目前目录位置中File.txt档的File变量, 并由fileName变量变数引用
. _5 v4 P$ Z$ q$ ^3 V) t- b
String path = request.getRealPath("/jsphosting/wenjian");
7 w, D _9 @2 I% x$ Q
File fileName = new File(path, "File.txt");
4 @ {0 S- U L$ Q
//检查File.txt是否存在
: L, u# z, L' n: G$ H
if(fileName.exists())
3 I2 I) l5 Z) O+ M9 F! u/ }
{
7 U6 O* g4 {% A8 I/ m% q5 L$ H
//删除File.txt档
$ T* b. A( B+ f- W
fileName.delete();
! T. u$ r g4 c- a
//输出目前所在的目录路径
/ n; \9 O3 `* T2 P1 x6 A% ]9 Q7 ]
out.println(path + "\File.txt");
X4 N6 ]8 S: n0 m% I! S7 K( |
%>
% Z: u, z& z/ p2 Y6 r
<FONT SIZE = 4 COLOR = red>存在</FONT>, 已完成
, N: m" @7 j+ K, [8 [2 x2 s5 `
<FONT SIZE = 4 COLOR = red>删除</FONT>
% \# y+ |# @! l1 N0 \( k3 s: i
<%
' ?8 I7 w( [1 Y9 ^* J. F
}
1 I$ |. l( e$ O. }! j6 ?
else
2 H4 B1 X8 e4 b( i* K- M5 E
{
& ]+ R; _3 Z6 q6 \: f M
//在目前的目录下建立一个名为File.txt的文字档
; e g2 _. G2 j0 i
fileName.createNewFile();
b# z# h, T8 ^# F% }" z
//输出目前所在的目录路径
/ q# `8 K' B* ?1 x/ [
out.println(path + "\File.txt");
3 u2 [* v+ Y4 \3 K6 Z1 B$ d1 ~
%>
4 d& @& K7 r4 E# W( x' t
<FONT SIZE = 4 COLOR = red>不存在</FONT>, 已完成
8 F, r5 ?+ V. o9 R
<FONT SIZE = 4 COLOR = red>建立</FONT>
4 ]/ L# j+ e( z! ]
<%
8 m8 Y# W0 f) K) ?8 X
}
W. C) F* I) h$ X; O& F; `
%>
0 r; w; S5 e2 g! n5 m
</BODY>
+ P- b9 E/ C; `' J7 m5 m
</HTML> </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>显示目录中的文件 <BR><BR>首先建立要显示的目录的FILE对象,然后调用LISTFILES方法,该方法返回一个FILE对象数组,显示数组中的所有元素即可。 <BR><BR>ListFile.jsp <BR><BR>
2 H! ~0 b) f1 D
<CENTER><CCID_NOBR>
! F' \" ^$ W- Q4 F1 p1 r4 A Y$ A
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
" i; S0 C! e2 O* A
0 Z4 s+ q1 ]/ S9 u4 T" b5 Y6 L
<TR>
$ h3 _" Z( f8 p
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><
RE><CCID_CODE><%@ page contentType="text/html; charset=GB2312"%>
# o; M" F8 |5 }/ H( n8 @3 \ s
<%@ page language="java" %>
( }% d& t3 r$ S$ s o) r4 I, f4 d
<%@ page import="java.io.*" %>
/ z1 p; q5 z, E, ?) Z5 m* D. e
<HTML>
; S) ^ W9 M ~5 F. m7 L* p
<HEAD>
4 S {, a! n( X) _0 w
<TITLE>取得目录中的文件</TITLE>
% l3 d& a% I' ?' j
</HEAD>
3 D4 T# L7 d! c! L3 G; l
<BODY>
6 c: ~: a3 I& p3 Q0 y: d) d
<CENTER>
' Y% e2 }0 Z& M3 b
<FONT SIZE = 5 COLOR = blue>取得目录中的文件</FONT>
8 b! b( D4 v7 d& V( }3 b* Q0 ]6 q
</CENTER>
& T8 v) u# T- U8 e- F
<BR>
+ V) h- [$ u7 g3 M* \5 E
<HR>
1 t. k, ?! n( d0 C1 {, x6 @ p
<BR>
7 |. f+ U& ~ X2 l/ F& @% \
<%
; B6 M! U" \4 Y$ @2 N
//取得目前目录的磁盘目录
: ^8 Q& [2 M, l- v5 P: R
String path = request.getRealPath("/jsphosting/wenjian");
* d W5 `4 ^$ T: l9 I1 y: a
//建立代表目前目录位置的d变量
' m; W2 a C4 n ?4 a
File d = new File(path);
. ]1 ` b7 r& Y% H& `" A
//取得代表目录中所有文件
9 m! q3 D3 ~ y! }, x& {9 o! U
File list[] = d.listFiles();
8 `0 s! |. A0 G( x3 |2 f
%>
2 X+ A" c4 H0 e3 _2 D i6 M
在<Font color = red><%= path%></Font>目录下的文件有(每个文件有其相应的功能)<BR>
; U; X0 b+ y- T4 G4 A
<Font color = blue>
8 a" Z" S6 `; D! r! z0 j5 v
<ul>
& X8 h# P6 _0 Z4 t: ~( M/ t
<%
# B: ~! M7 U" m0 x+ m* V
for(int i=0; i < list.length; i++)
, N+ I" N ]6 l+ t
{
7 l. `* V/ T- w _" \
%>
5 R5 t1 W) L' Z1 i" ?8 o& q# K# q8 X
<li><%= list
.getName() %><BR>
( @1 p! A* Y, e9 p9 ~/ j
<%
. s, h2 f) F& w2 ?: `, l! D9 d
}
, Q+ R+ j n: S4 [. M2 n
%>
9 n7 b* d4 ~; a! N( v
</ul>
6 p& Q8 N" M: }
</Font>
" q' g; e9 L& T$ ~) A
</BODY>
( J5 L# q& [) J7 C
</HTML> </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>读取文件中的字符 <BR><BR>直接调用FILEREADER对象的READ()方法读取所要显示的字符 <BR><BR>ReadAll.jsp <BR><BR>
8 U: k D# a2 u x5 Z7 [% k& o
<CENTER><CCID_NOBR>
0 c5 Y6 r/ _) X- J
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
5 n: S0 S! ?. A5 l; z1 |5 p
^, ?( |, ]7 A$ i( u
<TR>
& }+ w# T5 V; X: P
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><
RE><CCID_CODE><%@ page contentType="text/html; charset=GB2312" %>
* L& o" A% | @- p- U _$ P- o
<%@ page language="java" %>
3 E8 u1 D' l. q, J' c
<%@ page import="java.io.*" %>
* p+ Y L+ |5 W7 C) @% o6 d" v9 H
<HTML>
( c1 K# h; k/ Y7 |2 d6 @
<HEAD>
) T7 q m" k) e. ]' G3 W
<TITLE>读取文件内容</TITLE>
( ?. B4 L$ M! g
</HEAD>
) z( K, \; i( ^
<BODY>
- b5 ~& \/ X4 p
<CENTER>
* \8 A6 R1 { f( w; C; U8 G
<FONT SIZE = 5 COLOR = blue>读取文件内容</FONT>
1 y% k! A5 w. B. L+ }" k7 U
</CENTER>
5 T: P8 h, \8 [4 W8 Z% }
<BR>
- w2 t1 |% n2 i2 D7 `9 T, Q
<HR>
5 I7 z' f6 G9 ^5 Y! b
<BR>
& U* k7 f. e& S$ m3 i- n
<%
6 {, G, a9 X7 a2 K8 g& T
String path = request.getRealPath("/jsphosting/wenjian");
' E' k) D. j; G0 Q
//取得目前目录在伺服端的实际位置
5 V8 o) a+ n8 ]1 i# q! w
FileReader fr = new FileReader(path + "\File.txt");
8 ~3 N9 w0 a$ P$ q
//建立FileReader变量,并设定由fr变量变数引用
' L3 ^' L. |' G' X X5 Y4 e
int c = fr.read();
5 l H8 ]$ O5 F. H9 H/ ~' j- K
//从文件中读取一个字节
9 T: ?1 W5 J5 K- |( Z9 p
while(c != -1)
) G V' g4 p( j) Q
//判断是否已读到文件的结尾
6 h3 z; F( p5 U, ~
{
! R* m: c3 g: N
out.print((char)c);
) l8 W# V, A% f' t
//输出读取到的数据
( I2 E. }2 Q6 e( D Y
c = fr.read();
5 u& ?" ^& T; @: U
//从文件中读取数据
, [' E, m8 }: E. G$ |: q% d
if(c == 13)
3 W( U3 p6 k0 H; r9 V
//判断是否为断行字节
7 M1 |4 a' |$ ]9 O
{
3 ?* F* t- }2 t8 @! ^* Q5 {
out.print("<BR>");
( U! { o+ h" ~9 k% r& b, t2 ?' R
//输出分行标签
/ y8 O& N/ n) n! ^" w( F
fr.skip(1);
6 K" ^3 H; N3 T/ i/ Q
//略过一个字节
2 t( Q& ]( \& k, T
c = fr.read();
+ b3 M1 y* }* I4 i+ A
//读取一个字节
$ h6 X5 r& z/ K! C% e! t
}
& B- J' j4 |: X
}
! k9 \7 V% G, m1 \
//关闭文件
% J* e" @+ k- t2 b
fr.close();
% `1 M7 A6 a' i& Q& _; F
%>
5 f+ F3 @' W1 |+ h. `2 e2 p
</BODY>
+ u$ m( ?8 N' y* p
</HTML> </CCID_CODE></PRE></TD></TR></TABLE></CCID_NOBR></CENTER><BR><BR>将数据写入文件 <BR><BR>通过调用FILEWRITER对象的WRITE()方法向文件中写入数据 <BR><BR>Write.jsp <BR><BR>
% V' i9 S$ Q/ \# Z; D' f
<CENTER><CCID_NOBR>
2 V$ c" [# a( b; C4 i1 k8 A4 C5 _/ q6 p+ O
<TABLE cellSpacing=0 borderColorDark=#ffffff cellPadding=2 width=400 align=center borderColorLight=black border=1>
& c3 C* r1 c( s# R7 N K
. {! i/ p3 {9 k
<TR>
1 R, X& h9 G% X+ q) ?4 y: C2 H
<TD class=code style="FONT-SIZE: 9pt" bgColor=#e6e6e6><
RE><CCID_CODE><%@ page contentType="text/html; charset=GB2312"%>
9 w( o& y0 a: }
<%@ page language="java" %>
& r* E8 a+ d* i/ y" p: B
<%@ page import="java.io.*" %>
# w4 H4 M( i3 ]# B
<HTML>
" h6 R! }% }1 h: e$ h0 E2 f' C
<HEAD>
1 z% ~; A0 c+ c: L* A
<TITLE>将数据写入文件</TITLE>
. u! b8 U, F; Q2 x: g6 {$ U; O
</HEAD>
7 r/ r- W8 R# l# U p
<BODY>
8 X( I; l, ]) ^: y; z$ M2 I" a
<CENTER>
) l5 k+ }5 m: C/ N( I9 d
<FONT SIZE = 5 COLOR = blue>将数据写入文件</FONT>
- s \8 D# ?9 a z1 {# y3 d
</CENTER>
' o, b/ ]( w' |8 v* N8 M
<BR>
* e0 g% u: Y, C P1 k3 K' U h
<HR>
1 O: J2 m7 N0 S+ h
<BR>
2 U5 B3 |5 P& v5 J3 x1 ?
<%
% S0 N8 d6 j' H* J& x. t
String path = request.getRealPath("/jsphosting/wenjian");
+ J& b# R5 M" X! m$ O
//取得目前目录在伺服端的实际位置
6 y2 J1 t9 l2 |
FileWriter fw = new FileWriter(path + "\File.txt");
+ f' Y% q X; H h0 j- t# k, ~" d
//建立FileWrite对象,并设定由fw对象变量引用
+ y* J" O7 N, V; ~+ H
//将字串写入文件
) Z. C7 x% {$ G2 ]
fw.write("大家好!");
! N0 J: R& I! E4 V, ^
fw.write("祝大家学习jsp愉快!");
6 H: [5 J! P, W/ k; w% `7 x
fw.write("希望大家能够深入了解jsp技术!");
+ }/ M7 o5 @5 S$ b
fw.close();
: D2 |5 K3 O' g( U5 z9 D2 J k8 n3 R/ K4 `
//关闭文件
2 C, y9 ?* m" T3 x ?0 X: {
%>
/ s( z B. @+ D# ^3 |5 n3 h
<
>写入文件内容为</P>
# f5 U0 s3 _/ d! O( ^ o
<FONT SIZE = 4 COLOR = red>
. D1 @, ^ {1 z1 V5 W9 n% q, P
<%
# [8 s. r9 S2 t n, z8 S1 z
FileReader fr = new FileReader(path + "\File.txt");
0 l0 U3 D$ s1 ?# W t) L
//建立FileReader对象,并设定由fr对象变量引用
6 X$ S4 N- v5 @% _* K1 a
BufferedReader br = new BufferedReader(fr);
& s$ `( u5 x) _3 J
//建立BufferedReader对象,并设定由br对象变量引用
2 K- U* i' I! @
String Line = br.readLine();
y r( j; h. _* ]+ O
//读取一行数据
! U% u+ q$ J5 Q( ?7 f2 o) U
out.println(Line + "<BR>");
, D$ E) ~, Q4 J0 S
//输出读取得的数据
& d4 X3 Q$ ?8 N. v) \' E9 R9 g
br.close();
# Q; k- K5 k0 S7 X! F& ?
//关闭BufferedReader对象
4 o2 v* q0 W& `8 K
fr.close();
! I( e. o5 H! l# M3 @, @$ _9 @, _
//关闭文件
; j9 _# T; V+ M9 [1 `
%>
; R. h1 X/ X- U: I5 o; \
</FONT>
% {4 {8 W$ W# k1 R& K1 Q2 h
</BODY>
- ?+ ?3 }7 u, a# b) a: A; O9 P" S0 N
</HTML> </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