Java Читання

2075 / 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 fr = new 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 file = new 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
  {
    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("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);
}


 
Видалити файл
import java.io.*;

File file = new File("C:\\Users\\Petro\\Desktop\\1.txt");
if (file.delete())
{
  System.out.println("Файл успішно видалено");
}
else
{
  System.out.println("Не вдалося видалити файл");
}