jsp文件操作之读取篇


关于文件操作讨论的已经很多了,让我们来看看jsp中是如何实现的。
  这里用到了两个文件,一个jsp文件一个javabean文件,通过jsp中调用javabean可以轻松读取文本文件,注意请放置一个文本文件afile.txt到web根目录的test目录下,javabean文件编译后将class文件放到对应的class目录下(tomcat环境)。

Read.jsp

$#@60;html$#@62;
$#@60;head$#@62;
$#@60;title$#@62;读取一个文件$#@60;/title$#@62;
$#@60;/head$#@62;
$#@60;body bgcolor="#000000"$#@62;
$#@60;%--调用javabean --%$#@62;
$#@60;jsp:useBean id="reader" class="DelimitedDataFile" scope="request"$#@62;
$#@60;jsp:setProperty name="reader" property="path" value="/test/afile.txt" /$#@62;
$#@60;/jsp:useBean$#@62;

$#@60;h3$#@62;文件内容:$#@60;/h3$#@62;

$#@60;p$#@62;

$#@60;% int count = 0; %$#@62;
$#@60;% while (reader.nextRecord() != -1) { %$#@62;
$#@60;% count++; %$#@62;
$#@60;b$#@62;第$#@60;% out.print(count); %$#@62;行:$#@60;/b$#@62;
$#@60;% out.print(reader.returnRecord()); %$#@62;$#@60;br$#@62;    
$#@60;% } %$#@62;
$#@60;/p$#@62;
$#@60;/body$#@62;
$#@60;/html$#@62;


//DelimitedDataFile.java bean文件源代码
//导入java包
import java.io.*;
import java.util.StringTokenizer;

public class DelimitedDataFile
{

private String currentRecord = null;
private BufferedReader file;
private String path;
private StringTokenizer token;
//创建文件对象
public DelimitedDataFile()
{
     file = new BufferedReader(new InputStreamReader(System.in),1);
}
public DelimitedDataFile(String filePath) throws FileNotFoundException
{
    
     path = filePath;
     file = new BufferedReader(new FileReader(path));
}
     //设置文件路径
     public void setPath(String filePath)
        {
            
            ath = filePath;
try {
file = new BufferedReader(new
FileReader(path));
} catch (FileNotFoundException e) {
            System.out.println("file not found");
            }
    
        }
//得到文件路径
     public String getPath() {
        return path;
}
//关闭文件
public void fileClose() throws IOException
{
    
     file.close();
}
//读取下一行记录,若没有则返回-1
public int nextRecord()
{
    
    
     int returnInt = -1;
     try
     {
     currentRecord = file.readLine();
     }
    
     catch (IOException e)
     {
     System.out.println("readLine problem, terminating.");
     }
    
     if (currentRecord == null)
     returnInt = -1;
     else
     {
     token = new StringTokenizer(currentRecord);
     returnInt = token.countTokens();
     }
     return returnInt;
}

    //以字符串的形式返回整个记录
public String returnRecord()
{

return currentRecord;
}
}


为了对文件操作有全面了解,请看下一篇$#@60;$#@60;jsp文件操作之写入篇$#@62;$#@62;。

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3