Em Java, criar um arquivo é fácil usando classes e pacotes predefinidos. Existem três maneiras de criar um arquivo.
Método Java File.createNewFile()
O Arquivo.createNewFile() é um método da classe File que pertence a um java.io pacote. Não aceita nenhum argumento. O método cria automaticamente um arquivo novo e vazio. O método retorna um valor booleano:
- true, se o arquivo foi criado com sucesso.
- false, se o arquivo já existir.
Quando inicializamos o objeto da classe File, fornecemos o nome do arquivo e então podemos chamar o método createNewFile() da classe File para criar um novo arquivo em Java.
O método File.createNewFile() lança java.io.IOException se ocorrer um erro de E/S. Ele também lança SecurityException se existir um gerenciador de segurança e seu método SecurityManager.checkWriter(java.lang.String) negar acesso de gravação ao arquivo. A assinatura do método é:
'qual é a diferença entre um leão e um tigre'
public boolean createNewFile() throws IOException
Podemos passar o nome do arquivo ou caminho absoluto ou caminho relativo como argumento no objeto da classe Arquivo. Para um caminho não absoluto, o objeto Arquivo tenta localizar o arquivo no diretório atual.
Exemplo
O exemplo a seguir cria um novo arquivo de texto vazio. A primeira execução cria music.txt com êxito, enquanto na segunda execução ele falhou. Podemos criar qualquer tipo de arquivo alterando apenas a extensão do arquivo.
data de utilidade java
import java.io.File; import java.io.IOException; public class CreateFileExample1 { public static void main(String[] args) { File file = new File('C:\demo\music.txt'); //initialize File object and passing path as argument boolean result; try { result = file.createNewFile(); //creates a new file if(result) // test if successfully created a new file { System.out.println('file created '+file.getCanonicalPath()); //returns the path string } else { System.out.println('File already exist at location: '+file.getCanonicalPath()); } } catch (IOException e) { e.printStackTrace(); //prints exception if any } } }
Saída
Quando o arquivo não existe.
Quando o arquivo já existe.
Java FileOutputStream
Um fluxo de saída de arquivo grava dados em um arquivo. A classe Java FileOutputStream também fornece suporte para arquivos. Pertence ao pacote java.io. Ele armazena os dados em bytes. Usamos a classe FileOutputStream quando precisamos gravar alguns dados no arquivo criado. A classe FileOutputStream fornece um construtor para criar um arquivo. A assinatura do construtor é:
public FileOutputStream(String name, boolean append) throws FileNotFoundException
Parâmetros
nome: é o nome do arquivo
acrescentar: se for verdade, o byte será gravado no final do arquivo, não no início.
Rajinikanth
Exemplo
No exemplo a seguir, criamos um arquivo usando FileOutputStream.
import java.io.FileOutputStream; import java.util.Scanner; public class CreateFileExample { public static void main(String args[]) { try { Scanner sc=new Scanner(System.in); //object of Scanner class System.out.print('Enter the file name: '); String name=sc.nextLine(); //variable name to store the file name FileOutputStream fos=new FileOutputStream(name, true); // true for append mode System.out.print('Enter file content: '); String str=sc.nextLine()+' '; //str stores the string which we have entered byte[] b= str.getBytes(); //converts string into bytes fos.write(b); //writes bytes into file fos.close(); //close the file System.out.println('file saved.'); } catch(Exception e) { e.printStackTrace(); } } }
Saída
Método Java File.createFile()
O File.createFile() é um método da classe File que pertence a java.nio.arquivo pacote. Ele também fornece suporte para arquivos. O pacote nio é orientado a buffer. O método createFile() também é usado para criar um arquivo novo e vazio. Não precisamos fechar os recursos ao usar este método. É uma vantagem. A assinatura do método é:
padrão de design de fábrica
public static Path createFile(Path, Attribute) throws IOException
Caminho: O caminho do arquivo.
Atributo: Uma lista opcional de atributos de arquivo.
O método retorna o arquivo.
O exemplo a seguir também cria um arquivo novo e vazio. Criamos uma instância Path usando um método estático na classe Paths (java.nio.file.Paths) chamado Paths.get(). Observe a seguinte afirmação:
Caminho caminho = Paths.get('C:\demo\javaprogram.txt');
Na linha acima, Path é uma interface e Paths é uma classe. Ambos pertencem ao mesmo pacote. O método Paths.get() cria a instância do caminho.
import java.io.IOException; import java.nio.file.*; public class CreateFileExample3 { public static void main(String[] args) { Path path = Paths.get('C:\demo\javaprogram.txt'); //creates Path instance try { Path p= Files.createFile(path); //creates file at specified location System.out.println('File Created at Path: '+p); } catch (IOException e) { e.printStackTrace(); } } }
Saída