Other/Java/InputOutputFiles
From EduOmich
Работа с файлами очень похожа на работу с клавиатурой и экраном. Толкьо нужно немножко по-другому открывать ресурсы.
Чтение из файла.
Рассмотрим такой пример:
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
class Main
{
public static void main(String [] arg)
{
try
{
BufferedReader infile = new BufferedReader(new FileReader("input.txt"));
String s = br.readLine();
br.close();
System.out.print(s);
}
catch (IOException ioe)
{
System.out.print("Line can't be read");
}
}
}
Этот пример читает строчку из файла input.txt и выводит её на экран. Разные подробности всех его элементов можно почитать тут: Ввод-вывод. Из нового здесь только следующая строка:
BufferedReader br = new BufferedReader(new FileReader("input.txt"));
Она открывает для чтения файл с названием input.txt и привязывает к нему читалку. Если файла нет, то генерируется ошибка, которая ловится в catch.
br.close();
Эта строчка говорит о том, что мы освободили файл и больше с ним не работаем. Не забывайте её писать.
Запись в файл.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.FileWriter;
import java.io.BufferedWriter;
class Main
{
public static void main(String [] arg)
{
try
{
BufferedReader infile = new BufferedReader(new FileReader("input.txt"));
String s = br.readLine();
br.close();
BufferedWriter outfile = new BufferedWriter(new FileWriter("ouptut.txt"));
outfile.write(s);
outfile.close();
}
catch (IOException ioe)
{
System.out.print("Line can't be read");
}
}
}
Тут в строках:
BufferedWriter outfile = new BufferedWriter(new FileWriter("ouptut.txt"));
outfile.write(s);
outfile.close();
- Открывается файл для записи и прикручивается к писалка в него.
- Записывается в файл строчка, которую прочитали из другого файла.
- Файл закрывается.
Закрытие файлов - очень важное действие. Если вы забудете закрыть файл, в который записывали, то информация может там не сохраниться.