生成文本文件的程序是由C开发完成的. 用JAVA可以实现实时读取这个文本文件中的内容吗? 

解决方案 »

  1.   

    当然可以,是什么程序创建的文件跟JAVA读文件根本没有任何关系,比如我用音频软件编辑的音乐,难道Java不能访问吗?
    呵呵~~就要看你是怎么实时读取的方式了
      

  2.   

    >>当然可以,是什么程序创建的文件跟JAVA读文件根本没有任何关系,比如我用音频软件编辑的音乐,难道Java不能访问吗?
      这点大家都知道.  我的意思是写文本文件的过程已经由C实现了,不用考虑再改用JAVA了.
    >>就要看你是怎么实时读取的方式了
      简单的说,就是一个要从一个不断更新的LOG文件中实时读取信息显示在画面中.  也可以叫做日志监控.
      

  3.   

    自问自答,我写了个例子
    import java.io.*;
    public class writelog {
    public static void main(String[] args) {
      try{
       FileWriter fw=new FileWriter("c:\\aa.txt",true);
       BufferedWriter rf1=new BufferedWriter(fw);
        for (int i = 0; i < 100; i ++ ){
          rf1.write("this is line "+i);
          rf1.newLine();
          rf1.flush();
          Thread.sleep(1000);
        }
       rf1.close();
    }catch (Exception e){
     System.out.println("write  error!");
    }import java.io.BufferedReader;
    import java.io.FileReader;
    public class readlog {
    public static void main(String[] args) {
      try{
        BufferedReader rf1  = new BufferedReader(new FileReader("c:\\aa.txt"));
        String s1=null;
        while((s1=rf1.readLine())!=null){
          System.out.println(s1);
          Thread.sleep(1000);
         }
        rf1.close();
    }catch (Exception e){
     System.out.println("read  error!");
    }
    }
    }writelog是模拟连续写LOG内容部分, readlog 是读取不断更新的LOG文件部分, 先执行writelog,再执行readlog .
      

  4.   

    这会涉及到同步的问题吧?比如说这个类在写入log,同时另外你又开了一个笔记本也在写,C的一个程序也在写……那不就乱了?