比如下面这段代码我可以按字节读取英文的句子,我试着改来改去也做不到读取中文字符。还有"long filePoint=0;”的意思是说指针指向文件开头部分."while(filePoint<fileLength)"意思是说“文件指针的位置小于文件的长度”这是我看API后自己的理解,不知对不对。谢谢大家了,见笑了。<%@ page contentType="text/html;charset=gb2312" import="java.io.*"%>
<html>
<head>
<title>使用RandomAccessFile</title></head>
<body>
<center>
<%
   try{
      File fl=new File("c:\\javasmp\\ch02\\smp27.txt");
  RandomAccessFile raf=new RandomAccessFile(fl,"rw");
  long filePoint=0;
  long fileLength=fl.length();
  while(filePoint<fileLength){
   String s=raf.readLine();
   out.println(s+"<br>");
   filePoint=raf.getFilePointer();
   }
   raf.close();
   }
    catch(Exception e){
 out.println(e);
 }
 %>
 </center>
 </body>
 </html>

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【gjk11】截止到2008-07-02 15:09:53的历史汇总数据(不包括此帖):
    发帖的总数量:10                       发帖的总分数:250                      
    结贴的总数量:10                       结贴的总分数:250                      
    无满意结贴数:1                        无满意结贴分:30                       
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:100.00%               结分的百分比:100.00%                  
    无满意结贴率:10.00 %               无满意结分率:12.00 %                  
    敬礼!
      

  2.   

    RandomAccessFile raf=new RandomAccessFile(fl,"rw"); 
    raf.read(data);
    raf.close();
    //其中data为byte型的数组
      

  3.   

    String data="你好"
    RandomAccessFile raf=new RandomAccessFile(fl,"rw"); 
    long fileLength=fl.length();
    if(fileLength>0)
        raf.seek(fileLength);
    raf.write(data.getBytes()); 
    raf.close();