用google,有很多,其中
http://www.ruanxun.com/HArticle2364.aspx <Java的文件 读和写>
供你参考

解决方案 »

  1.   

    我想知道RandomAccessFile类的文件随机读写到底怎样操作?
    比方说一空白文本文件,我要向第十行第五列写入内容应该怎么做呢?
      

  2.   

    流式文件,是顺序读(写),已读的数据不能再次读取。Random文件,有一个cursor,可以用seek(long pos)方法设置它的位置,然后再read 或write,具体的,可以看api,api里有详细的说明。
      

  3.   

    “文件操作”不同于“在编辑框中编辑文本”,就算是如果你想“第3行的第5列开始写”,那么也只能是从这个位置开始覆盖后边的数据。如果是使用 RandomAccessFile 那么你需要定位“第3行的第5列”在文件中什么位置,然后 seek 到该位置开始写。如果是使用流文件,那么只能是从一个文件读入,写到另一个文件,遇到“第3行的第5列”时写你自己想要的内容:
    Reader in = new BufferedReader(new InputStreamReader(new FileInputStream("a.txt")));
    Writer out = new FileWriter("b.txt");while( (string = in.readline()) != null ) // 这样就读取一行的内容
    {
    ...
    }
      

  4.   

    public class FileStreamWriter {  
        private static BufferedWriter bw = null;    private static FileWriter fw = null;
        static {
            try {
                fw = new FileWriter("C:\\WriteData.txt");
            } catch (IOException e) {          
                e.printStackTrace();
            }
            bw = new BufferedWriter(fw);
        }    public static void main(String[] args) throws Exception {
            fileWriterStream(8, 10, "读取文件的");
            fileWriterStream(12, 5, "读取文件的");   
            fw.close();
            bw.close();
                
            FileReader fr = new FileReader("C:\\WriteData.txt");
            BufferedReader br = new BufferedReader(fr);//读取文件的BufferedRead对象
            String Line = br.readLine();
            while (Line != null) {
                System.out.println(Line + "<br>");
                Line = br.readLine();
            }
            fr.close();//关闭文件    }
        public static void fileWriterStream(int line, int colmuns, String soures)
                throws Exception {
            if(line == 0)
                line = 1;
            if(line > 1)
            {
                colmuns = colmuns + 1;
            
            for (int i = 0; i < line; ++i)
                bw.newLine();
        
            }
            if(colmuns > 1)
            for (int j = 0; j < colmuns; ++j)            
                bw.write("\n");
            bw.write(soures);
            bw.flush();    }
    }用这方法写好像不行啊,比如说写两条数据,分别是第8行第10列,第12行第5列,第一条能正确写入,但是到第12行就有错误了,是把第8行当成第一行开始计算,那么第12行第5列就写到了20行去了,咋整呀?