Головна‎ > ‎Java‎ > ‎

Читати з файлу Java

1. BufferedReader: Цей метод читає текст з потоку вводу, використовуючи буферизацію.

import java.io.*;

public static void main(String[] args) throws Exception
//  \t - службовий символ
File file = new File("1.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
String st;
while ((st = br.readLine()) != null)
System.out.println(st);
}


2. FileReader: Зручний для читання послідовності символів

import java.io.*;

public static void main(String[] args) throws Exception
{
FileReader frnew FileReader("1.txt");
int i;
while ((i=fr.read()) != -1)
System.out.print((char) i);
}


3. Scanner: Може аналізувати прості типи данних використовуючи регулярні вирази

import java.io.File;
import java.util.Scanner;


public static void main(String[] args) throws Exception
{
File filenew File("1.txt");
Scanner sc = new Scanner(file);
while (sc.hasNextLine())
System.out.println(sc.nextLine());
}


4. Scanner, але без циклу:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public static void main(String[] args) throws FileNotFoundException
{
File file = new File("1.txt");
Scanner sc = new Scanner(file);
sc.useDelimiter("\\Z");  // \\Z - розділювач
System.out.println(sc.next());
}


5. Прочитати файл в список:
 Файл буде гарантовано закритий, коли будуть прочитані усі байти, чи відбудеться помилка.

import java.util.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.io.*;


public static List<String> readFileInList(String fileName)
{
List<String> lines = Collections.emptyList();
try
{
linesFiles.readAllLines(Paths.get(fileName), StandardCharsets.UTF_8);
}
catch (IOException e)
{
// і ще щось зробити тут
e.printStackTrace();
}
return lines;
}

public static void main(String[] args)
{
List l = readFileInList("1.txt");
Iterator<String> itr = l.iterator();
while (itr.hasNext())
System.out.println(itr.next());
}


6. Прочитати файл в змінну String: 

import java.nio.file.*;

public static String readFileAsString(String fileName) throws Exception
{
String data = "";
data = new String(Files.readAllBytes(Paths.get(fileName)));
return data;
}

public static void main(String[] args) throws Exception
{
String data = readFileAsString("1.txt");
System.out.println(data);
}