java文件操作

原创 2004年08月17日 11:42:00

文件的建立/检查与删除
<%@ 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>

读取所有的文件数据
<%@ 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.readLine();//读取一行数据
while(Line!=null){
 out.println(Line + "<br>");
 Line=br.readLine();
}
fr.close();
%>
</body>
</html>

如何将数据追加写入到文件
<%@ 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>

@ 符号 在java中是什么语法 代表什么

java中@是什么     J2SE 提供的最后一个批注是 @SuppressWarnings。该批注的作用是给编译器一条指令,告诉它对被批注的代码元素内部的某些警告保持静默。     一点背景:...
  • skyboy11yk
  • skyboy11yk
  • 2013年10月12日 16:49
  • 38725

关于java中<T>问题

关于java中问题 Jdk5.0新特性Generic Types (泛型) 原文 来源: 中国IT实验室 作者: 未知 责编: 宝良 1. 介绍 2.定义简单Java泛型 其实Java...
  • zhengqiqiqinqin
  • zhengqiqiqinqin
  • 2013年05月31日 19:22
  • 35819

Java中布尔类型操作&=,|=与^=的使用

今天在对同事的代码进行code review的时候,见到一个比较好玩的写法。“flag &= false;”,乍一看,还感觉他写错了,但是程序可以正常运行,赶紧去百度,看一下这个写法到底是怎么一回事,...
  • ziwen00
  • ziwen00
  • 2014年10月31日 16:35
  • 17989

java中==与equel的区别

值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。     ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
  • hellokatewj
  • hellokatewj
  • 2014年03月26日 17:43
  • 2831

java this 3种常见用法 详解

this 关键字 1.区分成员变量和局部变量 2.代表当前对象 3.构造器之间调用
  • u012176204
  • u012176204
  • 2017年01月17日 09:41
  • 3081

【数据结构】之二叉树的java实现

二叉树的定义: 二叉树是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树的形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。...
  • wuwenxiang91322
  • wuwenxiang91322
  • 2013年10月02日 09:28
  • 80310

Java可以做什么及可以给我们带来什么?

一般来说,Java是一个功能强大的软件平台。一套完整的Java平台将会给你带来如下特性: 开发工具箱:...
  • stewen_001
  • stewen_001
  • 2014年03月12日 16:06
  • 2899

Java 进度条控件的使用

利用JProcessBar类可以实现一个进度条,它本身不过是一个矩形控件,通过填充它的部分或全部来指示一个任务的执行情况,可以放置到一个新的线程中运行。 示例如下:...
  • kehyuanyu
  • kehyuanyu
  • 2014年05月19日 17:44
  • 8677

java也可以来做黑客:控制肉鸡

一般来说,通过端口扫面,知道对方的端口后,要进行一些进一步的操作,不是很难!难就难在如何想对方电脑发送命令!一般电脑会开放一个135的端口,我们通过它了做一些操作。大名鼎鼎的“冲击波”就是通过它了实现...
  • qq_35447305
  • qq_35447305
  • 2016年08月05日 08:14
  • 2231

最小堆和最大堆的JAVA实现

/** * 文件名:BinaryHeap.java * 时间:2014年11月3日下午7:15:34 * 作者:修维康 */ package chapter6; import java.ut...
  • xiuweikang
  • xiuweikang
  • 2014年11月04日 16:37
  • 4433
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java文件操作
举报原因:
原因补充:

(最多只允许输入30个字)