2012-05-06 2 views
-3

У меня есть 3 методаFileReader и BufferedReader

  1. для открытого файла
  2. для чтения файла
  3. для возврата вещей прочитанных в методе чтения

это мой код:

/* 
* To change this template, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package javaapplication56; 

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.io.IOException; 
import java.rmi.RemoteException; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

/** 
* 
* @author x 
*/ 
public class RemoteFileObjectImpl extends java.rmi.server.UnicastRemoteObject implements RemoteFileObject 
{ 
    public RemoteFileObjectImpl() throws java.rmi.RemoteException { 
     super(); 
    } 

    File f = null; 
    FileReader r = null; 
    BufferedReader bfr = null; 

    String output = ""; 
    public void open(String fileName) { 
     //To read file passWord 
     f = new File(fileName); 
    } 
    public String readLine() { 
     try { 
      String temp = ""; 
      String newLine = System.getProperty("line.separator"); 
      r = new FileReader(f); 
      while ((temp = bfr.readLine()) != null) { 
       output += temp + newLine; 
       bfr.close(); 
      } 
     } 
     catch (IOException ex) { 
      ex.printStackTrace(); 
     } 

     return output; 
    } 

    public void close() { 
     try { 
      bfr.close(); 
     } catch (IOException ex) { 
     } 
    } 

    public static void main(String[]args) throws RemoteException{ 
     RemoteFileObjectImpl m = new RemoteFileObjectImpl(); 
     m.open("C:\\Users\\x\\Documents\\txt.txt"); 
     m.readLine(); 
     m.close(); 
    } 
} 

Но это не работает.

+5

«не работает» не достаточно хорошо. Объясните, что вы ожидали, и что вы получили вместо этого. – chr

+0

Эти ошибки появляются, когда работа Ран и я не знаю почему.? Исключение в потоке "основного" java.lang.NullPointerException \t в javaapplication56.RemoteFileObjectImpl.readLine (RemoteFileObjectImpl.java:51) \t в javaapplication56.RemoteFileObjectImpl.main (RemoteFileObjectImpl.java:73) – Seetah

+2

Снова: Что вы ожидать, что произойдет, и что произошло вместо этого? –

ответ

0

Что вы ожидаете, что делать, вы ничего с линией вы читаете не делать, просто

m.readLine(); 

Вместо:

String result = m.readLine(); 

или использовать переменную output, что вы сохранили.

Вы хотите сохранить его в переменной, распечатать, записать в другой файл?

Обновление: после вашего обновления в комментариях: Ваша переменная bfr никогда не создавалась/не инициализировалась. Вы делаете только это:

r = new FileReader(f); 

так bfr еще null.

Вы должны сделать что-то вроде этого, вместо:

bfr = new BufferedReader(new FileReader(f)); 
+0

'r = new FileReader (f);' так что это еще один шаг. – Neil

+0

Спасибо за всех Нам удалось решить код – Seetah

+0

Umm, well @Neil, код не использует 'r', но использует' bfr', поэтому вам лучше изменить это или инициализировать 'bfr'. Кроме того, 'FileReader' не имеет' readLine', 'BufferedReader' делает. –

Смежные вопросы