2014-11-16 5 views
0

Этот вопрос не является конкретным вопросом, но более общий вопрос. Для чтения файла я знаю, что вы можете использовать Сканер и прочитать его, а затем распечатать. Однако, прочитав файл, а затем распечатав его в новом формате, например, в двойном пространстве, отступы, в основном любые проблемы с интервалом, это также считается чтение или его запись? Из моего понимания того, чему учил меня мой учитель, заключается в том, что запись перезаписывает исходный документ и заменяет его. Также как можно использовать команду PrintWriter? Я никогда не видел этого раньше в своем классе и не читал об этом в своем учебнике, но его по моему тесту в соответствии с моим учителем. Может ли кто-нибудь дать объяснение и пример об этом?Чтение файла или письмо

Я читал этот сайт http://www.caveofprogramming.com/frontpage/articles/java/java-file-reading-and-writing-files-in-java/ при записи файлов, но использует FileWriter, который, как я предполагаю, заменяет сканер? Это правильно?

+0

В пакете java.io содержится много классов для записи файлов, и эти классы могут использоваться в разных сценариях. PrintWriter - один из них, который может писать строки и символы. в противном случае файл не будет перезаписан всегда, это ваше предпочтение, если вы хотите переопределить существующие данные или добавить новый текст –

+0

есть ли у вас пример? –

ответ

0

чтение и запись файлов в java - это работа с потоками, а поток может быть двоичным или последовательным. Java предоставляет различные классы в

java.io

пакет и эти классы используются в различных сценариях. например, работа с бинарным потоком, вам могут потребоваться некоторые специальные функции. Классы PrintWriter используются для записи форматированного текста в поток текстового вывода, как описано здесь PrintWriter

Далее вы можете переписать существующий файл или добавить данные в существующий файл.

вот простой код для записи данных в файл. вы можете добавить или перезаписать существующий текст

import java.io.FileWriter; 
import java.io.PrintWriter; 

public class Main { 
    public static void main(String[] args) throws Exception { 
    String filename = "fileName.txt"; 
    String[] linesToWrite = new String[] { "a", "b" }; 
    boolean appendToFile = true; 

    PrintWriter pw = null; 
    if (appendToFile) { 
     // if you append data to file then pass 'true' to FileWriter else pass false 
     // PrintWriter needs an object of Writer type so we pass an anonymous object of 
     // FileWriter to PrintWriter constructor 
     pw = new PrintWriter(new FileWriter(filename, true)); 
    } else { 
     pw = new PrintWriter(new FileWriter(filename)); 
     // pw = new PrintWriter(new FileWriter(filename, false)); 
    } 
    for (int i = 0; i < linesToWrite.length; i++) { 
     pw.println(linesToWrite[i]); 
    } 
    pw.flush(); 
    pw.close(); 
    } 
} 
Смежные вопросы