怎样用RandomAccessFile从文本读取出一个一个的字符串喃?
比如,从一篇英语文章中把单词读取出来。

解决方案 »

  1.   

    我看你的需求 有点模糊  你要不按字节读出来  要不按字符读   既然是文本 试试下面的按字符读取的代码吧  注意替换文件路径
    import java.io.*; public class FileToString { 
         public static String readFile(String fileName) { 
            String output = "";  
             
            File file = new File(fileName); 
                
            if(file.exists()){ 
                if(file.isFile()){ 
                    try{ 
                        BufferedReader input = new BufferedReader (new FileReader(file)); 
                        StringBuffer buffer = new StringBuffer(); 
                        String text; 
                            
                        while((text = input.readLine()) != null) 
                            buffer.append(text +"\n"); 
                            
                        output = buffer.toString();                     
                    } 
                    catch(IOException ioException){ 
                        System.err.println("File Error!");                 } 
                } 
                else if(file.isDirectory()){ 
                    String[] dir = file.list(); 
                    output += "Directory contents:\n"; 
                     
                    for(int i=0; i<dir.length; i++){ 
                        output += dir[i] +"\n"; 
                    } 
                } 
            } 
            else{ 
                System.err.println("Does not exist!"); 
            } 
            return output; 
         } 
          
         public static void main (String args[]){ 
             String  str = readFile("C:/1.txt"); 
              
             System.out.print(str); 
         } 
      

  2.   

    我把一楼的改了改:import java.io.*;public class Test {
    public static void main(String args[]) throws Exception {
    File file = new File("C:/1.txt");
    BufferedReader input = new BufferedReader(new FileReader(file));
    StringBuffer buffer = new StringBuffer();
    String text = null;
    while ((text = input.readLine()) != null)
    buffer.append(text); String[] words = buffer.toString().split("\\W+");
    for (String s : words) {
    System.out.println(s);
    }
    }
    }
      

  3.   

    RandomAccessFile rf=new RandomAccessFile(file,"r");只读
    RandomAccessFile rf=new RandomAccessFile(file,"rw");读写int c;
    c=rf.read();从此文件中读取一个数据字节。
    char ch=(char)c;