﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-nighTuner &amp; Yuyu's Space-文章分类-Java/Jsp</title><link>http://www.blogjava.net/nighTuner/category/1028.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 05:21:39 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 05:21:39 GMT</pubDate><ttl>60</ttl><item><title>java文件操作大全</title><link>http://www.blogjava.net/nighTuner/articles/3247.html</link><dc:creator>nighTuner</dc:creator><author>nighTuner</author><pubDate>Wed, 13 Apr 2005 17:46:00 GMT</pubDate><guid>http://www.blogjava.net/nighTuner/articles/3247.html</guid><wfw:comment>http://www.blogjava.net/nighTuner/comments/3247.html</wfw:comment><comments>http://www.blogjava.net/nighTuner/articles/3247.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/nighTuner/comments/commentRss/3247.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/nighTuner/services/trackbacks/3247.html</trackback:ping><description><![CDATA[<P>文件的建立/检查与删除<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;文件的建立、检查与删除&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath("");<BR>//out.println(path);<BR>File f=new File(path,"File.txt");<BR>//out.println(f);<BR>//out.println(f.exists());</P>
<P>if(f.exists()){//检查File.txt是否存在<BR>f.delete();//删除File.txt文件<BR>out.println(path + "<A href="file://\\File.txt">\\File.txt</A> 存在，已删除。");<BR>}else{<BR>f.createNewFile();//在当前目录下建立一个名为File.txt的文件<BR>out.println(path + "<A href="file://\\File.txt">\\File.txt</A> 不存在，已建立。");//输出目前所在的目录路径<BR>}<BR>%&gt;</P>
<P>目录的建立/检查与删除<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;目录的建立/检查与删除&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath("");<BR>path=path + "<A href='file://\\Sub";//'>\\Sub";//</A>将要建立的目录路径<BR>File d=new File(path);//建立代表Sub目录的File对象，并得到它的一个引用<BR>if(d.exists()){//检查Sub目录是否存在<BR>d.delete();<BR>out.println("Sub目录存在，已删除");<BR>}else{<BR>d.mkdir();//建立Sub目录<BR>out.println("Sub目录不存在，已建立");<BR>}<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>如何在JSP中处理虚拟目录<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;JSP中如何处理虚拟目录&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>取得虚拟目录对应的磁盘路径&lt;br&gt;<BR>Web站点主目录的位置为&lt;font color=#ff0000&gt;&lt;%=request.getRealPath("/")%&gt;&lt;/font&gt;&lt;br&gt;<BR>JSP网页所在的目录位置&lt;font color=#ff0000&gt;&lt;%=request.getRealPath("./")%&gt;&lt;/font&gt;&lt;br&gt;<BR>JSP网页所在目录上一层目录的位置&lt;font color=#ff0000&gt;&lt;%=request.getRealPath("../")%&gt;&lt;/font&gt;&lt;br&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>文件属性的取得<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.util.Date,java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;文件属性的取得&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath("/");<BR>File f=new File(path,"ReadData.txt");<BR>if(f.exists()){<BR>%&gt;<BR>&lt;%=f.getName()%&gt;的属性如下：&lt;br&gt;&lt;br&gt;<BR>文件长度为：&lt;%=f.length()%&gt;<BR>&lt;%=f.isFile()?"是文件":"不是文件"%&gt;&lt;br&gt;<BR>&lt;%=f.isDirectory()?"是目录":"不是目录"%&gt;&lt;br&gt;<BR>&lt;%=f.canRead()?"可读取":"不可读取"%&gt;&lt;br&gt;<BR>&lt;%=f.canWrite()?"可写入":"不可写入"%&gt;&lt;br&gt;<BR>&lt;%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%&gt;&lt;br&gt;<BR>文件的最后修改日期为：&lt;%=new Date(f.lastModified())%&gt;&lt;br&gt;<BR>&lt;%<BR>}else{<BR>f.createNewFile();//在当前目录下建立一个名为ReaData.txt的文件<BR>%&gt; <BR>&lt;%=f.getName()%&gt;的属性如下：&lt;br&gt;&lt;br&gt;<BR>文件长度为：&lt;%=f.length()%&gt;<BR>&lt;%=f.isFile()?"是文件":"不是文件"%&gt;&lt;br&gt;<BR>&lt;%=f.isDirectory()?"是目录":"不是目录"%&gt;&lt;br&gt;<BR>&lt;%=f.canRead()?"可读取":"不可读取"%&gt;&lt;br&gt;<BR>&lt;%=f.canWrite()?"可写入":"不可写入"%&gt;&lt;br&gt;<BR>&lt;%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%&gt;&lt;br&gt;<BR>文件的最后修改日期为：&lt;%=new Date(f.lastModified())%&gt;&lt;br&gt;<BR>&lt;%<BR>}<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>取出目录中文件的方法<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;取出目录中文件的方法--列出目录中的文件&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath("/");<BR>File d=new File(path);//建立当前目录中文件的File对象<BR>File list[]=d.listFiles();//取得代表目录中所有文件的File对象数组<BR>out.println("&lt;font color=#ff0000&gt;" + path + "目录下的文件：&lt;/font&gt;&lt;br&gt;");<BR>for(int i=0;i&lt;list.length;i++){<BR>if(list&lt;I&gt;.isFile()){<BR>out.println(list&lt;I&gt;.getName() + "&lt;br&gt;");<BR>}<BR>}<BR>out.println("&lt;br&gt;&lt;font color=#ff0000&gt;" + path + "目录下的目录：&lt;/font&gt;&lt;br&gt;");<BR>for(int i=0;i&lt;list.length;i++){<BR>if(list&lt;I&gt;.isDirectory()){<BR>out.println(list&lt;I&gt;.getName() + "&lt;br&gt;");<BR>}<BR>}<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>判断是否为空白文件<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;判断是否为空白文件&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath("/");<BR>out.println(path);<BR>FileReader fr=new FileReader(path + "<A href='file://\\AtEnd.txt");//'>\\AtEnd.txt");//</A>建立FileReader对象，并实例化为fr<BR>//对FileReader类生成的对象使用read()方法，可以从字符流中读取下一个字符。<BR>if(fr.read()==-1)//判断是否已读到文件的结尾<BR>{<BR>out.print("AtEnd.txt文件中没有数据&lt;br&gt;");<BR>}else{<BR>out.println("AtEnd.txt文件中有数据");<BR>}<BR>fr.close();<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>读取所有的文件数据<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*,java.lang.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;读取所有的文件数据&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath(".");<BR>FileReader fr=new FileReader(path + "<A href="file://\\ReadData.txt">\\ReadData.txt</A>");<BR>//关键在于读取过程中，要判断所读取的字符是否已经到了文件的末尾，并且这个字符是不是文件中的断行符，即判断该字符值是否为13。<BR>int c=fr.read();//从文件中读取一个字符<BR>//判断是否已读到文件结尾<BR>while(c!=-1){<BR>out.print((char)c);//输出读到的数据<BR>c=fr.read();//从文件中继续读取数据<BR>if(c==13){//判断是否为断行字符<BR>out.print("&lt;br&gt;");//输出分行标签<BR>fr.skip(1);//略过一个字符<BR>//c=fr.read();//读取一个字符<BR>}<BR>}<BR>fr.close();<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>一行一行读取数据<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;文件读取&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath("");//取得当前目录的路径<BR>FileReader fr=new FileReader(path + "<A href='file://\\file\\inc\\t.txt");//'>\\file\\inc\\t.txt");//</A>建立FileReader对象，并实例化为fr<BR>BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象，并实例化为br<BR>String Line=br.readLine();//从文件读取一行字符串<BR>//判断读取到的字符串是否不为空<BR>while(Line!=null){<BR>out.println(Line + "&lt;br&gt;");//输出从文件中读取的数据<BR>Line=br.readLine();//从文件中继续读取一行数据<BR>}<BR>br.close();//关闭BufferedReader对象<BR>fr.close();//关闭文件<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>略过文件中的字符不读取<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;略过字节不读取&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath(".");<BR>FileReader fr=new FileReader(path + "<A href="file://\\ReadData.txt">\\ReadData.txt</A>");<BR>fr.skip(2);//跳过2个字节<BR>int c=fr.read();//读取一个字节<BR>while(c!=-1){<BR>out.print((char)c);<BR>c=fr.read();<BR>}<BR>fr.close();<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>将数据写入文件<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;将数据写入文件&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath(".");<BR>FileWriter fw=new FileWriter(path + "<A href='file://\\WriteData.txt");//'>\\WriteData.txt");//</A>建立FileWriter对象，并实例化fw<BR>//将字符串写入文件<BR>fw.write("大家好！");<BR>fw.write("本书是《JSP编程技巧》");<BR>fw.write("请多多指教！");<BR>fw.write("email:stride@sina.com");<BR>fw.close();</P>
<P>FileReader fr=new FileReader(path + "<A href="file://\\WriteData.txt">\\WriteData.txt</A>");<BR>BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象，并实例化为br<BR>String Line=br.readLine();<BR>//读取一行数据<BR>out.println(Line + "&lt;br&gt;");<BR>br.close();//关闭BufferedReader对象<BR>fr.close();<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;</P>
<P><BR>将写入文件的数据分行<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;将写入文件的数据分行&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath(".");<BR>FileWriter fw=new FileWriter(path + "<A href="file://\\WriteData.txt">\\WriteData.txt</A>");<BR>BufferedWriter bw=new BufferedWriter(fw);<BR>bw.write("大家好！");<BR>bw.write("本书是《JSP编程技巧》。");<BR>bw.newLine();//断行<BR>bw.write("请多多指教！");<BR>bw.newLine();//断行<BR>bw.write("email: <A href="mailto:stride@sina.com">stride@sina.com</A>");<BR>bw.flush();//将数据更新至文件<BR>fw.close();//关闭文件流<BR>out.println("写入文件内容为：&lt;br&gt;");<BR>FileReader fr=new FileReader(path + "<A href="file://\\WriteData.txt">\\WriteData.txt</A>");<BR>BufferedReader br=new BufferedReader(fr);<BR>String Line=br.readLine();//读取一行数据<BR>while(Line!=null){<BR>out.println(Line + "&lt;br&gt;");<BR>Line=br.readLine();<BR>}<BR>fr.close();<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>如何将数据追加写入到文件<BR>&lt;%@ page contentType="text/html;charset=gb2312"%&gt;<BR>&lt;%@ page import="java.io.*"%&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;将写入文件的数据分行&lt;/title&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;%<BR>String path=request.getRealPath(".");<BR>RandomAccessFile rf=new RandomAccessFile(path + "<A href='file://\\WriteData.txt","rw");//'>\\WriteData.txt","rw");//</A>定义一个类RandomAccessFile的对象，并实例化<BR>rf.seek(rf.length());//将指针移动到文件末尾<BR>rf.writeBytes("\nAppend a line to the file!");<BR>rf.close();//关闭文件流<BR>out.println("写入文件内容为：&lt;br&gt;");<BR>FileReader fr=new FileReader(path + "<A href="file://\\WriteData.txt">\\WriteData.txt</A>");<BR>BufferedReader br=new BufferedReader(fr);//读取文件的BufferedRead对象<BR>String Line=br.readLine();<BR>while(Line!=null){<BR>out.println(Line + "&lt;br&gt;");<BR>Line=br.readLine();<BR>}<BR>fr.close();//关闭文件<BR>%&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/I&gt;</P><img src ="http://www.blogjava.net/nighTuner/aggbug/3247.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/nighTuner/" target="_blank">nighTuner</a> 2005-04-14 01:46 <a href="http://www.blogjava.net/nighTuner/articles/3247.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>