logo

Como abrir um arquivo em Java

Existem as seguintes maneiras de abrir um arquivo em Java:

  • Classe Java Desktop
  • Classe Java FileInputStream
  • Classe Java BufferedReader
  • Classe Java FileReader
  • Classe Java Scanner
  • Pacote Javanio

Classe Java Desktop

A classe Java Desktop fornece um abrir() método para abrir um arquivo. Pertence a um java.awt pacote. A implementação do Desktop depende da plataforma, portanto é necessário verificar se o sistema operacional suporta Desktop ou não. A classe Desktop procura um aplicativo associado registrado no desktop nativo para manipular um arquivo. Se não houver nenhum aplicativo associado ou se o aplicativo não for iniciado, ele lançará o FileNotFoundException . Inicia o navegador padrão do usuário para mostrar um URI especificado.

  • Inicia o cliente de email padrão do usuário com um URI de email opcional.
  • Inicia o aplicativo registrado para abrir, editar ou imprimir um arquivo especificado.

O abrir() O método da classe Desktop inicia o aplicativo associado para abrir um arquivo. Leva um arquivo como argumento. A assinatura do método é:

 public void open (File file) throws IOException 

O método lança as seguintes exceções:

truncar e excluir diferença
    Null Pointer Exception:Se o arquivo for nulo.Exceção de argumento ilegal:É lançado quando o arquivo não existe.Exceção IO:É lançado quando não há nenhum aplicativo associado ao tipo de arquivo fornecido.Execução de operação não suportada:Se a plataforma atual não suportar a ação Desktop.Action.Open.

Exemplo

 import java.awt.Desktop; import java.io.*; public class OpenFileExample1 { public static void main(String[] args) { try { //constructor of file class having file as argument File file = new File('C:\demo\demofile.txt'); if(!Desktop.isDesktopSupported())//check if Desktop is supported by Platform or not { System.out.println('not supported'); return; } Desktop desktop = Desktop.getDesktop(); if(file.exists()) //checks file exists or not desktop.open(file); //opens the specified file } catch(Exception e) { e.printStackTrace(); } } } 

Quando executamos o programa acima, ele abre o arquivo de texto especificado no editor de texto padrão. Também podemos abrir o arquivo .docx, .pdf e .webp.

Saída:

Como abrir um arquivo em Java

Classe Java FileInputStream

Java FileInputStream class é usada para abrir e ler um arquivo. Podemos abrir e ler um arquivo usando o construtor da classe FileInputStream. A assinatura do construtor é:

 public FileInputStream(File file) throws FileNotFoundException 

Ele aceita um arquivo como argumento. Isso joga FileNotFoundException se o arquivo não existir ou o nome do arquivo for um diretório.

Exemplo

 import java.io.*; import java.util.Scanner; public class OpenFileExample2 { public static void main(String args[]) { try { //constructor of file class having file as argument File file=new File('C:\demo\demofile.txt'); FileInputStream fis=new FileInputStream(file); //opens a connection to an actual file System.out.println('file content: '); int r=0; while((r=fis.read())!=-1) { System.out.print((char)r); //prints the content of the file } } catch(Exception e) { e.printStackTrace(); } } } 

Saída:

converter data da string
Como abrir um arquivo em Java

Classe Java BufferedReader

Java Leitor Buffered classe lê texto de um fluxo de entrada de caracteres. Pertence a um java.io pacote. Usamos o construtor da classe BufferedReader para abrir ou ler um arquivo. A assinatura do construtor é:

 public BufferedReader(Reader in) 

Ele cria um fluxo de entrada de caracteres de buffer que usa um buffer de entrada de tamanho padrão. Ele usa um buffer de entrada de tamanho padrão.

nome de produtos de maquiagem

Exemplo

 import java.io.*; import java.util.Scanner; public class OpenFileExample3 { public static void main(String args[]) { try { //constructor of File class having file as argument File file=new File('C:\demo\demofile.txt'); //creates a buffer reader input stream BufferedReader br=new BufferedReader(new FileReader(file)); System.out.println('file content: '); int r=0; while((r=br.read())!=-1) { System.out.print((char)r); } } catch(Exception e) { e.printStackTrace(); } } } 

Saída:

Como abrir um arquivo em Java

Classe Java FileReader

Java Leitor de arquivos class também é usada para abrir e ler um arquivo. Pertence a um java.io pacote. É uma comodidade para leitura de caracteres dos arquivos. É usado para ler bytes brutos usando a classe FileInputStream. Usamos o construtor da classe FileInputStream para abrir e ler um arquivo. A assinatura do construtor é:

 public FileReader(File file) throws FileNotFoundException 

Ele aceita um arquivo como argumento. Ele joga o FileNotFoundException se o arquivo especificado não existir ou o nome do arquivo for um diretório.

Exemplo

 import java.io.*; public class OpenFileExample4 { public static void main(String args[]) { try { //constructor of the File class having file as an argument FileReader fr=new FileReader('C:\demo\demofile.txt'); System.out.println('file content: '); int r=0; while((r=fr.read())!=-1) { System.out.print((char)r); //prints the content of the file } } catch(Exception e) { e.printStackTrace(); } } } 

Saída:

Como abrir um arquivo em Java

Classe Java Scanner

Java Scanner class também é usada para abrir e ler um arquivo. A classe Scanner pertence a java.util pacote. O construtor da classe Scanner é usado para abrir e ler um arquivo. A assinatura do construtor é:

 public scanner (File source) throws FileNotFoundException 

Aceita um arquivo (a ser verificado) como argumento. Também joga FileNotFoundException , se a origem do arquivo não for encontrada.

Exemplo

 import java.io.File; import java.util.Scanner; public class OpenFileExample5 { public static void main(String[] args) { try { File file=new File('C:\demo\demofile.txt'); Scanner sc = new Scanner(file); //file to be scanned while (sc.hasNextLine()) //returns true if and only if scanner has another token System.out.println(sc.nextLine()); } catch(Exception e) { e.printStackTrace(); } } } 

Saída:

Como abrir um arquivo em Java

Pacote Javanio

Método readAllLines() : O método readAllLines() é o método da classe File. Ele lê todas as linhas de um arquivo e os bytes do arquivo são decodificados em caracteres usando o conjunto de caracteres UTF-8. Ele retorna as linhas do arquivo como uma lista. A assinatura do método é:

lista de arrays java
 public static List readAllLines(Path path) throws IOException 

Onde path é o caminho do arquivo.

O método acima é equivalente a invocar o seguinte:

 File.readAllLines(path, Standard CharSets.UTF_8) 

Coleções.emptyList(): O método emptyList() é o método da classe Collection que pertence ao pacote java.util. É usado para obter uma lista vazia. A assinatura do método é:

 public static final List emptyList() 

Exemplo

 import java.util.*; import java.nio.charset.StandardCharsets; import java.nio.file.*; import java.io.*; public class OpenFileExample6 { public static List readFileInList(String fileName) { List lines = Collections.emptyList(); try { lines=Files.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8); } catch (IOException e) { e.printStackTrace(); } return lines; } public static void main(String[] args) { List l = readFileInList('C:\demo\demofile.txt'); Iterator itr = l.iterator(); //access the elements while (itr.hasNext()) //returns true if and only if scanner has another token System.out.println(itr.next()); //prints the content of the file } } 

Saída:

Como abrir um arquivo em Java