Вы успешно создали экземпляр класса File
, который сильно отличается от создания фактических файлов на вашем жестком диске.
Экземпляры класса File
используются для обращения к файлам на диске. Вы можете использовать их во многих вещах, например:
- проверить, существуют ли файлы или каталоги;
- создавать/удалять/переименовывать файлы или каталоги; и
- открытые «потоки» для записи данных в файлы.
Чтобы создать файл на жестком диске и записать некоторые данные на него, вы можете использовать, например, FileOutputStream
.
public class AnExample {
public static void main(String... args) throws Throwable {
final File file = new File("file.dat");
try (FileOutputStream fos = new FileOutputStream(file);
DataOutputStream out = new DataOutputStream(fos)) {
out.writeInt(42);
}
}
}
Здесь fos
в экземпляре FileOutputStream
, который является OutputStream
, который записывает все байты, записанные в ней нижележащий файл на диске.
Затем я создаю экземпляр DataOutputStream
вокруг этого FileOutputStream
: Таким образом, мы можем написать более сложные типы данных, чем байты и массивы байтов (это ваша единственная возможность с помощью FileOutputStream
напрямую).
Наконец, в файл записываются четыре байта данных: четыре байта, представляющие целое число 42
. Обратите внимание: если вы откроете этот файл в текстовом редакторе, вы увидите мусор, так как в приведенном выше коде не были написаны символы «4» и «2».
Другая возможность была бы использовать OutputStreamWriter
, который даст вам экземпляр Writer
, который может быть использован для написания текст (недвоичные) файлов:
public class AnExample {
public static void main(String... args) throws Throwable {
final File file = new File("file.txt");
try (FileOutputStream fos = new FileOutputStream(file);
OutputStreamWriter out = new OutputStreamWriter(fos, StandardCharsets.UTF_8)) {
out.write("You can read this with a text editor.");
}
}
}
Здесь вы можете открыть файл file.txt
в текстовом редакторе и прочитать сообщение, написанное на нем.
Вы вопрос уже ответил: http://stackoverflow.com/questions/6142901/how-to-create-a-file-in-a-directory- in-java –