java文件操作大全
文件的建立/??与?除
<%@ 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:[email protected]");
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: [email protected]");
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>

解决方案 »

  1.   

    (1)为何用了creatNewFile方法还不能保证创建出来的是文件?
       --------------------------
       如果创建成功,能保证是文件吧(2)
        如果c:/JunkData路径不存在的话,createNewFile会抛出异常
      

  2.   

    其实很简单
    creatNewFile是创建一个文件,就是有后缀名的
    mkdir是创建一个文件夹
    懂吗?
      

  3.   

    楼上的,我的问题是:(1)为何用了creatNewFile方法还不能保证创建出来的是文件,用了mkdir方法也不能保证创建出来的是目录??(2) 如果我必须创建一个”c:/JunkData/proverbs.txt“文件,而用if(!output.isFile())返回的是false我该怎么办??
      

  4.   

    //把/root/b换成c:/JunkData
    import java.io.*;public class DeleteFile{    public DeleteFile()
        {
    try{
        //File file=new File("test");
        //file.delete();
        String dirName = "/root/b";//"c:/JunkData";
        String fileName ="proverbs.txt";
        File output =new File(dirName);
        output.mkdir();
        File output1=new File("/root/b/proverbs.txt");
        output1.createNewFile();     if(!output1.isFile())
    System.out.println("Creating"+output.getPath()+"failed."); }catch(Exception e){
        e.printStackTrace();
    }
        }    public static void main(String args[])
        {
    DeleteFile delete=new DeleteFile();
    System.exit(0);
        }
    }