2013-03-28 2 views
0

Этот метод используется для добавления слов в txt-файл, а затем сортировки, но мне не разрешено использовать функцию Buffered Reader в моем курсе. Можно ли использовать сканер, чтобы сделать этоЗамена BufferedReader

public static void Option1Method() throws IOException 
{ 
    FileWriter aFileWriter = new FileWriter("wordlist.txt", true); 
    PrintWriter out = new PrintWriter(aFileWriter); 
    String word = JOptionPane.showInputDialog(null, "Enter a word"); 

    out.println(word); 
    out.close(); 

    aFileWriter.close(); 

    String inputFile = "wordlist.txt"; 
    String outputFile = "wordlist.txt"; 
    FileReader fileReader = new FileReader(inputFile); 
    BufferedReader bufferedReader = new BufferedReader(fileReader); 
    String inputLine; 
    List<String> lineList = new ArrayList<String>(); 
    while ((inputLine = bufferedReader.readLine()) != null) { 
     lineList.add(inputLine); 
    } 
    fileReader.close(); 

    Collections.sort(lineList); 

    FileWriter fileWriter = new FileWriter(outputFile); 
    PrintWriter out1 = new PrintWriter(fileWriter); 
    for (String outputLine : lineList) { 
     out1.println(outputLine); 
    } 
    out1.flush(); 
    out1.close(); 
    fileWriter.close(); 

}

+2

Да, это возможно. Вы просмотрели JavaDoc ['Scanner'] (http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html)? –

ответ

0

Конечно, вы можете. Вот эквивалентные коды, использующие BufferedReader и Scanner

public void bufferedReaderVersion() throws Exception{ 
    File f = new File("filePath"); 
    Reader reader = new FileReader(f); 
    BufferedReader bufferedReader = new BufferedReader(reader); 

    String line = null; 

    while((line = bufferedReader.readLine()) != null){ 
     System.out.println(line); 
    } 

    bufferedReader.close(); 
    reader.close(); 
} 

public void scannerVersion() throws Exception{ 
    File f = new File("filePath"); 
    Scanner sc = new Scanner(f); 

    while(sc.hasNext()){ 
     System.out.println(sc.nextLine()); 
    } 

    sc.close(); 
} 
+0

Я не могу заставить его работать над моим кодом. Это так же просто, как замена буферизованного считывателя сканером? – user2205055

+0

Не совсем, вам больше не нужен экземпляр 'Reader' –

+0

Не могли бы вы отредактировать мой код, потому что я просто могу заставить его работать – user2205055