这里提供四个函数,用于读取文本文件。
public static String textFileContent(String path, Charset charset)
1 // 读取文件全部内容 2 public static String textFileContent(String path, Charset charset){ 3 Path file = Paths.get(path); 4 try { 5 String content = Files.readString(file, charset); 6 return content; 7 }catch (IOException err) { 8 err.printStackTrace(); 9 return null; 10 } 11 }
public static Stream<String> textFileToLineStream(String path, Charset charset)
1 // 把文件转换成由各行构成的Stream 2 public static Stream<String> textFileToLineStream(String path, Charset charset){ 3 Path file = Paths.get(path); 4 try{ 5 Stream<String> lines = Files.lines(file, charset); 6 return lines; 7 }catch (Exception err){ 8 err.printStackTrace(); 9 return null; 10 } 11 }
public static List<String> textFileToLineList(String path, Charset charset)
1 // 把文件按行读入列表 2 public static List<String> textFileToLineList(String path, Charset charset){ 3 Path file = Paths.get(path); 4 try{ 5 List<String> lines = Files.readAllLines(file, charset); 6 return lines; 7 }catch (Exception err){ 8 err.printStackTrace(); 9 return null; 10 } 11 }
public static void readLinesUsingFileReader(String path, Charset charset)
1 // 使用FileReader读取文件各行,Java7的做法。 2 public static void readLinesUsingFileReader(String path, Charset charset) { 3 File file = new File(path); 4 try { 5 FileReader fr = new FileReader(file, charset); 6 BufferedReader br = new BufferedReader(fr); 7 String line; 8 while ((line = br.readLine()) != null) { 9 System.out.println(line); 10 } 11 br.close(); 12 fr.close(); 13 }catch (Exception err){ 14 err.printStackTrace(); 15 } 16 }
测试代码:
1 public static void main(String[] args) throws IOException{ 2 String path = "d:/mytext.txt"; 3 System.out.println(textFileContent(path, StandardCharsets.UTF_8)); 4 textFileToLineStream(path, StandardCharsets.UTF_8).forEach(System.out::println); 5 List<String> lines = textFileToLineList(path, StandardCharsets.UTF_8); 6 for (String line:lines){ 7 System.out.println(line); 8 } 9 readLinesUsingFileReader(path, StandardCharsets.UTF_8); 10 }
标签:Charset,String,charset,002,static,文本文件,path,public,读取 From: https://www.cnblogs.com/java369/p/16989432.html