`
laorer
  • 浏览: 433727 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

<转>常用文件操作方法,

阅读更多

本文汇集包括文件的建立/检查与删除,目录的建立/检查与删除,取出目录中文件,文件属性的取得,逐行读取数据等等。

http://ustp.3322.org/Article/Html/48_P2.html

文件的建立/检查与删除

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>文件的建立、检查与删除</title>

</head>

<body>

<%

String path=request.getRealPath("");

//out.println(path);

File f=new File(path,"File.txt");

//out.println(f);

//out.println(f.exists());

if(f.exists()){//检查File.txt是否存在

f.delete();//删除File.txt文件

out.println(path + "\\File.txt 存在,已删除。");

}else{

f.createNewFile();//在当前目录下建立一个名为File.txt的文件

out.println(path + "\\File.txt 不存在,已建立。");//输出目前所在的目录路径

}

%>

目录的建立/检查与删除

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>目录的建立/检查与删除</title>

</head>

<body>

<%

String path=request.getRealPath("");

path=path + "\\Sub";//将要建立的目录路径

File d=new File(path);//建立代表Sub目录的File对象,并得到它的一个引用

if(d.exists()){//检查Sub目录是否存在

d.delete();

out.println("Sub目录存在,已删除");

}else{

d.mkdir();//建立Sub目录

out.println("Sub目录不存在,已建立");

}

%>

</body>

</html>

如何在JSP中处理虚拟目录

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>JSP中如何处理虚拟目录</title>

</head>

<body>

取得虚拟目录对应的磁盘路径<br>

Web站点主目录的位置为<font color=#ff0000><%=request.getRealPath("/")%></font><br>

JSP网页所在的目录位置<font color=#ff0000><%=request.getRealPath("./")%></font><br>

JSP网页所在目录上一层目录的位置<font color=#ff0000><%=request.getRealPath("../")%></font><br>

</body>

</html>

文件属性的取得

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.util.Date,java.io.*"%>

<html>

<head>

<title>文件属性的取得</title>

</head>

<body>

<%

String path=request.getRealPath("/");

File f=new File(path,"ReadData.txt");

if(f.exists()){

%>

<%=f.getName()%>的属性如下:<br><br>

文件长度为:<%=f.length()%>

<%=f.isFile()?"是文件":"不是文件"%><br>

<%=f.isDirectory()?"是目录":"不是目录"%><br>

<%=f.canRead()?"可读取":"不可读取"%><br>

<%=f.canWrite()?"可写入":"不可写入"%><br>

<%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%><br>

文件的最后修改日期为:<%=new Date(f.lastModified())%><br>

<%

}else{

f.createNewFile();//在当前目录下建立一个名为ReaData.txt的文件

%>

<%=f.getName()%>的属性如下:<br><br>

文件长度为:<%=f.length()%>

<%=f.isFile()?"是文件":"不是文件"%><br>

<%=f.isDirectory()?"是目录":"不是目录"%><br>

<%=f.canRead()?"可读取":"不可读取"%><br>

<%=f.canWrite()?"可写入":"不可写入"%><br>

<%=f.isHidden()?"是隐藏文件":"不是隐藏文件"%><br>

文件的最后修改日期为:<%=new Date(f.lastModified())%><br>

<%

}

%>

</body>

</html>

取出目录中文件的方法

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>取出目录中文件的方法--列出目录中的文件</title>

</head>

<body>

<%

String path=request.getRealPath("/");

File d=new File(path);//建立当前目录中文件的File对象

File list[]=d.listFiles();//取得代表目录中所有文件的File对象数组

out.println("<font color=#ff0000>" + path + "目录下的文件:</font><br>");

for(int i=0;i<list.length;i++){

if(list<I>.isFile()){

out.println(list<I>.getName() + "<br>");

}

}

out.println("<br><font color=#ff0000>" + path + "目录下的目录:</font><br>");

for(int i=0;i<list.length;i++){

if(list<I>.isDirectory()){

out.println(list<I>.getName() + "<br>");

}

}

%>

</body>

</html>

 

判断是否为空白文件

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>判断是否为空白文件</title>

</head>

<body>

<%

String path=request.getRealPath("/");

out.println(path);

FileReader fr=new FileReader(path + "\\AtEnd.txt");//建立FileReader对象,并实例化为fr

//对FileReader类生成的对象使用read()方法,可以从字符流中读取下一个字符。

if(fr.read()==-1)//判断是否已读到文件的结尾

{

out.print("AtEnd.txt文件中没有数据<br>");

}else{

out.println("AtEnd.txt文件中有数据");

}

fr.close();

%>

</body>

</html>

<B>读取所有的文件数据</B>

<ccid_nobr>

<table width="400" border="1" cellspacing="0" cellpadding="2"

bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center">

<tr>

<td bgcolor="e6e6e6" class="code" style="font-size:9pt">

<pre><ccid_code> <%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*,java.lang.*"%>

<html>

<head>

<title>读取所有的文件数据</title>

</head>

<body>

<%

String path=request.getRealPath(".");

FileReader fr=new FileReader(path + "\\ReadData.txt");

//关键在于读取过程中,要判断所读取的字符是否已经到了文件的末尾,

并且这个字符是不是文件中的断行符,即判断该字符值是否为13。

int c=fr.read();//从文件中读取一个字符

//判断是否已读到文件结尾

while(c!=-1){

out.print((char)c);//输出读到的数据

c=fr.read();//从文件中继续读取数据

if(c==13){//判断是否为断行字符

out.print("<br>");//输出分行标签

fr.skip(1);//略过一个字符

//c=fr.read();//读取一个字符

}

}

fr.close();

%>

</body>

</html>

 

一行一行读取数据

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>文件读取</title>

</head>

<body>

<%

String path=request.getRealPath("");//取得当前目录的路径

FileReader fr=new FileReader(path + "\\file\\inc\\t.txt");//建立FileReader对象,并实例化为fr

BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br

String Line=br.readLine();//从文件读取一行字符串

//判断读取到的字符串是否不为空

while(Line!=null){

out.println(Line + "<br>");//输出从文件中读取的数据

Line=br.readLine();//从文件中继续读取一行数据

}

br.close();//关闭BufferedReader对象

fr.close();//关闭文件

%>

</body>

</html>

 

略过文件中的字符不读取

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>略过字节不读取</title>

</head>

<body>

<%

String path=request.getRealPath(".");

FileReader fr=new FileReader(path + "\\ReadData.txt");

fr.skip(2);//跳过2个字节

int c=fr.read();//读取一个字节

while(c!=-1){

out.print((char)c);

c=fr.read();

}

fr.close();

%>

</body>

</html>

将数据写入文件

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>将数据写入文件</title>

</head>

<body>

<%

String path=request.getRealPath(".");

FileWriter fw=new FileWriter(path + "\\WriteData.txt");//建立FileWriter对象,并实例化fw

//将字符串写入文件

fw.write("大家好!");

fw.write("本书是《JSP编程技巧》");

fw.write("请多多指教!");

fw.write("email:stride@sina.com");

fw.close();

FileReader fr=new FileReader(path + "\\WriteData.txt");

BufferedReader br=new BufferedReader(fr);//建立BufferedReader对象,并实例化为br

String Line=br.readLine();

//读取一行数据

out.println(Line + "<br>");

br.close();//关闭BufferedReader对象

fr.close();

%>

</body>

</html>

将写入文件的数据分行

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>将写入文件的数据分行</title>

</head>

<body>

<%

String path=request.getRealPath(".");

FileWriter fw=new FileWriter(path + "\\WriteData.txt");

BufferedWriter bw=new BufferedWriter(fw);

bw.write("大家好!");

bw.write("本书是《JSP编程技巧》。");

bw.newLine();//断行

bw.write("请多多指教!");

bw.newLine();//断行

bw.write("email: stride@sina.com");

bw.flush();//将数据更新至文件

fw.close();//关闭文件流

out.println("写入文件内容为:<br>");

FileReader fr=new FileReader(path + "\\WriteData.txt");

BufferedReader br=new BufferedReader(fr);

String Line=br.readLin

 

<!---->

 
<!----><script language="JavaScript"> function fontColor(objname) { var arr = showModalDialog("/Editor/Dialog/selcolor.htm", "", "dialogWidth:18.5em; dialogHeight:17.5em; status:0; help:0"); if (arr != null) setColor(objname,arr); } </script>
   位置: 晔网 >> 文章频道 >> 技术文档 >> JSP >> 正文  
JSP文件操作大全
[ 文章录入:yeolan     点击数: <script src="/GetHits.asp?ChannelID=1&amp;amp;InfoID=48" type="text/JavaScript"></script>43     更新时间:2006-11-27 ]【字体: 】
 


 

 

如何将数据追加写入到文件

<%@ page contentType="text/html;charset=gb2312"%>

<%@ page import="java.io.*"%>

<html>

<head>

<title>将写入文件的数据分行</title>

</head>

<body>

<%

String path=request.getRealPath(".");

RandomAccessFile rf=new RandomAccessFile(path + "\\WriteData.txt","rw");

//定义一个类RandomAccessFile的对象,并实例化

rf.seek(rf.length());//将指针移动到文件末尾

rf.writeBytes("\nAppend a line to the file!");

rf.close();//关闭文件流

out.println("写入文件内容为:<br>");

FileReader fr=new FileReader(path + "\\WriteData.txt");

BufferedReader br=new BufferedReader(fr);//读取文件的BufferedRead对象

String Line=br.readLine();

while(Line!=null){

out.println(Line + "<br>");

Line=br.readLine();

}

fr.close();//关闭文件

%>

</body>

</html></I></I></I></I>


 

e();//读取一行数据

while(Line!=null){

out.println(Line + "<br>");

Line=br.readLine();

}

fr.close();

%>

</body>

</html>

分享到:
评论

相关推荐

    C# XmlToList xml转换成对象,Xml转对象

    本文将深入探讨如何使用C#将XML文件内容转换为List&lt;T&gt;对象,以及涉及的两种实现方法。我们将主要关注以下知识点: 1. **XML解析基础**:C#中的System.Xml命名空间提供了一系列类来解析和操作XML文档,如XmlDocument...

    Unity3d读写格式为类型的xml

    本资源重点介绍了如何处理格式为`&lt;key&gt;&lt;/key&gt;&lt;string&gt;&lt;/string&gt;`的键值对型XML文件。在Unity3D中,我们通常会使用内置的System.Xml命名空间提供的类来实现XML的读写操作。 首先,XML文件的结构通常是层次化的,由...

    C# xmlToList xml转换成对象

    本教程将探讨如何在C#中将XML文件内容转换为`List&lt;T&gt;`对象,以便更方便地操作和处理数据。 首先,我们需要理解`List&lt;T&gt;`是C#中的一个泛型集合类,它继承自`Collection&lt;T&gt;`,可以存储同一类型的元素列表。`T`代表你...

    第三章 MyBatis的核心配置.docx

    例如,新建一个db.properties配置文件,写上数据库信息,接着在Mybatis文件中配置&lt;properties&gt;属性,通过resource引用,最后修改数据库连接信息。 3.2.3 &lt;settings&gt;元素 &lt;settings&gt;元素用于配置MyBatis的全局参数...

    vc++2008编译不了#include头文件

    - `&lt;strstream&gt;`:提供对字符串流的操作支持。 #### 总结 综上所述,在使用 VC++ 2008 进行 C++ 开发时,应该遵循 C++98 或 C++03 标准,使用 `&lt;iostream&gt;` 代替 `&lt;iostream.h&gt;`,并确保正确地使用 `std` 命名空间...

    C#编程经验技巧宝典

    10&lt;br&gt;&lt;br&gt;0023 如何添加引用第3方控件 11&lt;br&gt;&lt;br&gt;0024 如何生成DLL文件 11&lt;br&gt;&lt;br&gt;0025 如何使用不安全代码 11&lt;br&gt;&lt;br&gt;第2章 语言基础 13&lt;br&gt;&lt;br&gt;2.1 注释 14&lt;br&gt;&lt;br&gt;0026 如何对代码进行注释 14&lt;br&gt;...

    ++键盘响应事件

    标题中的“&lt;ctrl&gt;+&lt;alt&gt;+&lt;F8&gt;键盘响应事件”是指在计算机操作系统中,通过按下特定的组合键——Ctrl、Alt和F8,触发一个特定的系统或应用程序响应。这种组合键通常用于执行某些预设的功能或者调试操作。在不同的操作...

    LINUX与UNIX_SHELL编程指南2

    176&lt;br&gt;&lt;br&gt;18.4.3 提示键入y或n 177&lt;br&gt;&lt;br&gt;18.4.4 case与命令参数传递 ...文件转换 183&lt;br&gt;&lt;br&gt;18.5.8 多sed删除操作 184&lt;br&gt;&lt;br&gt;18.5.9 循环计数 184&lt;br&gt;&lt;br&gt;18.5.10 for循环和本地文档 184&lt;br&gt;&lt;br&gt;18.5.11 for循环...

    List转换成String数组

    本文将详细介绍如何将一个`List&lt;String&gt;`类型的集合转换为`String[]`数组,并通过不同的方法来实现这一过程。这不仅有助于提高代码的可读性和效率,还能帮助开发者更好地理解和运用Java集合框架。 #### 一、背景...

    LINUX与UNIX SHELL编程指南

    合并与分割 104&lt;br&gt;11.1 sort用法 104&lt;br&gt;11.1.1 概述 104&lt;br&gt;11.1.2 sort选项 104&lt;br&gt;11.1.3 保存输出 105&lt;br&gt;11.1.4 sort启动方式 105&lt;br&gt;11.1.5 sort对域的参照方式 105&lt;br&gt;11.1.6 文件是否已分类 105&lt;br&gt;11.1.7 ...

    电脑百科全书-----217个电脑知识和实用问题解决集锦

    与文件类型不配(106#)&lt;br&gt;&lt;br&gt;网页恶意代码的十一大危害及其解决方案(107#)&lt;br&gt;&lt;br&gt;找回Administrator账户密码(108#)&lt;br&gt;&lt;br&gt;"文件保护"的解决方法(109#)&lt;br&gt;&lt;br&gt;双击无法打开文件夹(110#)&lt;br&gt;&lt;br&gt;解决...

    Linux管理员指南

    结点 101&lt;br&gt;8.1.2 超级块 102&lt;br&gt;8.2 管理文件系统 102&lt;br&gt;8.2.1 挂装和卸载本地磁盘 102&lt;br&gt;8.2.2 使用fsck程序 105&lt;br&gt;8.3 对硬盘进行分区 107&lt;br&gt;8.3.1 硬盘的表示方法 107&lt;br&gt;8.3.2 建立硬盘分区 107&lt;br&gt;8.3.3 ...

    LINUX与UNIX_SHELL编程指南1

    合并与分割 104&lt;br&gt;11.1 sort用法 104&lt;br&gt;11.1.1 概述 104&lt;br&gt;11.1.2 sort选项 104&lt;br&gt;11.1.3 保存输出 105&lt;br&gt;11.1.4 sort启动方式 105&lt;br&gt;11.1.5 sort对域的参照方式 105&lt;br&gt;11.1.6 文件是否已分类 105&lt;br&gt;11.1.7 ...

    JSP网络编程从基础到实践

    实例20 request常用方法的应用&lt;br&gt; 实例21 获得表单数据&lt;br&gt; 实例22 页面重定向程序示例&lt;br&gt; 实例23 定时刷新页面程序示例&lt;br&gt; 实例24 记住会话的用户名&lt;br&gt; 实例25 猜字母游戏&lt;br&gt; 实例26 网站计数器&lt;br&gt; 实例27 用...

    jive.chm

    &lt;br&gt;&lt;br&gt; 反编译&lt;br&gt; 1 反编译常用工具 &lt;br&gt;&lt;br&gt; 混淆&lt;br&gt; 1 Sun公司的混淆器JADE &lt;br&gt; 2 RetroGuard的使用方法 &lt;br&gt;&lt;br&gt; JVM&lt;br&gt; 1 JVM之class文件结构 &lt;br&gt; 2 JVM 內的資料處理 &lt;br&gt;&lt;br&gt; &lt;br&gt; &lt;br&gt;MVC Framework...

    Jive资料集

    &lt;br&gt; 4 WebLogic中文问题配置文件 &lt;br&gt; 5 JSP系统信息配置探针 &lt;br&gt;&lt;br&gt; &lt;br&gt; &lt;br&gt;反编译与混淆&lt;br&gt; 1 編譯、反編譯、反反編譯 &lt;br&gt;&lt;br&gt; 反编译&lt;br&gt; 1 反编译常用工具 &lt;br&gt;&lt;br&gt; 混淆&lt;br&gt; 1 Sun公司的混淆器JADE &lt;br&gt;...

    Linux 可卸载内核模块完全指南

    &lt;br&gt;2.4.1 如何隐藏文件 &lt;br&gt;2.4.2 如何隐藏文件的内容(完全的) &lt;br&gt;2.4.3 如何隐藏文件的某一部分(一个实现原型) &lt;br&gt;2.4.4 如何重新定向或者监视文件操作 &lt;br&gt;2.4.5 如何避免任何文件权限问题 &lt;br&gt;2.4.6 如何使的...

    mysql5.1中文手册

    锁定方法&lt;br&gt;7.3.2. 表锁定事宜&lt;br&gt;7.4. 优化数据库结构&lt;br&gt;7.4.1. 设计选择&lt;br&gt;7.4.2. 使你的数据尽可能小&lt;br&gt;7.4.3. 列索引&lt;br&gt;7.4.4. 多列索引&lt;br&gt;7.4.5. MySQL如何使用索引&lt;br&gt;7.4.6. MyISAM键高速缓冲&lt;br&gt;...

    VB编程资源大全(源码 其它3)

    controlpanel.zip&lt;br&gt;访问控制面板的方法(2KB)&lt;br&gt;689,screenres.zip&lt;br&gt;得到计算机屏幕的大小(2KB)&lt;br&gt;690,editregistry.zip &lt;br&gt;编辑注册表 (2KB)&lt;br&gt;691,stop.zip&lt;br&gt;锁定计算机的程序(5KB)&lt;br&gt;692,wbasket.zip...

Global site tag (gtag.js) - Google Analytics