黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java文件讀取的方法

Java文件讀取的方法

更新時間:2022-04-06 11:33:35 來源:動力節(jié)點 瀏覽1604次

有多種寫入和讀取文本文件的方法。在處理許多應(yīng)用程序時,這是必需的。有幾種方法可以在 Java 中讀取純文本文件,動力節(jié)點小編給大家舉例,如您可以使用FileReader、BufferedReader或Scanner來讀取文本文件。每個實用程序都提供了一些特殊的功能,例如 BufferedReader 提供數(shù)據(jù)緩沖以便快速讀取,而 Scanner 提供解析能力。

方法:

1.使用 BufferedReader 類

2.使用FileReader類

3.使用Scanner類

4.讀取列表中的整個文件

5.以字符串形式讀取文本文件

讓我們更深入地討論上述每種方法,最重要的是通過一個干凈的 Java 程序來實現(xiàn)它們。

方法一:使用 BufferedReader 類

此方法從字符輸入流中讀取文本。它確實緩沖以有效讀取字符、數(shù)組和行。可以指定緩沖區(qū)大小,也可以使用默認大小。對于大多數(shù)用途,默認值足夠大。通常,由 Reader 發(fā)出的每個讀取請求都會導(dǎo)致對底層字符或字節(jié)流發(fā)出相應(yīng)的讀取請求。因此,建議將 BufferedReader 包裹在 read() 操作可能成本高昂的任何 Reader 周圍,例如 FileReaders 和 InputStreamReaders,如下所示:

BufferedReader in = new BufferedReader(Reader in, int size);

例子:

// Java Program to illustrate Reading from FileReader
// using BufferedReader Class
// Importing input output classes
import java.io.*;
// Main class
public class GFG {
	// main driver method
	public static void main(String[] args) throws Exception
	{
		// File path is passed as parameter
		File file = new File(
			"C:\\Users\\pankaj\\Desktop\\test.txt");
		// Note: Double backquote is to avoid compiler
		// interpret words
		// like \test as \t (ie. as a escape sequence)
		// Creating an object of BufferedReader class
		BufferedReader br
			= new BufferedReader(new FileReader(file));
		// Declaring a string variable
		String st;
		// Condition holds true till
		// there is character in a string
		while ((st = br.readLine()) != null)
			// Print the string
			System.out.println(st);
	}
}

方法二:使用 FileReader 類

讀取字符文件的便利類。此類的構(gòu)造函數(shù)假定默認字符編碼和默認字節(jié)緩沖區(qū)大小是適當?shù)摹?/p>

該類中定義的構(gòu)造函數(shù)如下:

FileReader(File file):給定要讀取的文件,創(chuàng)建一個新的 FileReader

FileReader(FileDescriptor fd):給定要讀取的 FileDescriptor,創(chuàng)建一個新的 FileReader

FileReader(String fileName):給定要讀取的文件名,創(chuàng)建一個新的 FileReader

例子:

// Java Program to Illustrate reading from
// FileReader using FileReader class
// Importing input output classes
import java.io.*;
// Main class
// ReadingFromFile
public class GFG {
	// Main driver method
	public static void main(String[] args) throws Exception
	{
		// Passing the path to the file as a parameter
		FileReader fr = new FileReader(
			"C:\\Users\\pankaj\\Desktop\\test.txt");
		// Declaring loop variable
		int i;
		// Holds true till there is nothing to read
		while ((i = fr.read()) != -1)
			// Print all the content of a file
			System.out.print((char)i);
	}
}

方法 3:使用 Scanner 類

一個簡單的文本掃描器,可以使用正則表達式解析原始數(shù)據(jù)類型和字符串。Scanner 使用分隔符模式將其輸入分解為標記,默認情況下匹配空格。然后可以使用各種 next 方法將生成的標記轉(zhuǎn)換為不同類型的值。

示例 1:使用循環(huán)

// Java Program to illustrate
// reading from Text File
// using Scanner Class
import java.io.File;
import java.util.Scanner;
public class ReadFromFileUsingScanner
{
public static void main(String[] args) throws Exception
{
	// pass the path to the file as a parameter
	File file = new File("C:\\Users\\pankaj\\Desktop\\test.txt");
	Scanner sc = new Scanner(file);
	while (sc.hasNextLine())
	System.out.println(sc.nextLine());
}
}

示例 2:不使用循環(huán)

// Java Program to illustrate reading from FileReader
// using Scanner Class reading entire File
// without using loop
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class ReadingEntireFileWithoutLoop
{
public static void main(String[] args)
						throws FileNotFoundException
{
	File file = new File("C:\\Users\\pankaj\\Desktop\\test.txt");
	Scanner sc = new Scanner(file);
	// we just need to use \\Z as delimiter
	sc.useDelimiter("\\Z");
	System.out.println(sc.next());
}
}

方法4:讀取列表中的整個文件

從文件中讀取所有行。此方法確保在讀取所有字節(jié)或引發(fā) I/O 錯誤或其他運行時異常時關(guān)閉文件。使用指定的字符集將文件中的字節(jié)解碼為字符。

句法:

public static List readAllLines(Path path,Charset cs)throws IOException

此方法將以下內(nèi)容識別為行終止符:

\u000D 后跟 \u000A,回車后跟 LINE FEED
\u000A,換行
\u000D,回車

例子

// Java program to illustrate reading data from file
// using nio.File
import java.util.*;
import java.nio.charset.StandardCharsets;
import java.nio.file.*;
import java.io.*;
public class ReadFileIntoList
{
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)
	{
	// do something
	e.printStackTrace();
	}
	return lines;
}
public static void main(String[] args)
{
	List l = readFileInList("C:\\Users\\pankaj\\Desktop\\test.java");
	Iterator<String> itr = l.iterator();
	while (itr.hasNext())
	System.out.println(itr.next());
}
}

方法5:將文本文件讀取為字符串

例子

// Java Program to illustrate
// reading from text file
// as string in Java
package io;
import java.nio.file.*;;
public class ReadTextAsString {
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("C:\\Users\\pankaj\\Desktop\\test.java");
	System.out.println(data);
}
}

 

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 成人特黄午夜性a一级毛片 成人网18免费软件 成人网免费 | 日本特交大片免费观看 | 极品福利在线 | 高清国产精品久久 | 欧美性最xxx | a级毛片毛片免费观看永久 a级毛片黄色 | 日韩中文字幕在线亚洲一区 | 免费av中文字幕 | 看全色黄大色黄大片色责看的 | 又黄又爽又猛大片录像 | 国产黄在线播放免费观看 | 天天干成人网 | 国产视频二区在线观看 | 午夜剧场在线免费观看 | 夜夜爽爽 | 亚洲成年人免费网站 | 国产美女一级ba大片免色 | 日韩高清性爽一级毛片免费 | 免费网站看av片 | 久久久视 | 成年人免费在线视频网站 | 日本的黄色录像 | 国产亚洲欧洲国产综合一区 | 精品国产品欧美日产在线 | 在线成年视频免费观看 | 怡红院日本一道日本久久 | 免费狼人久久香蕉网 | 在线视频精品免费 | 久9视频这里只有精品 | 免费h黄肉动漫在线观看 | 99ri在线精品视频在线播放 | 国产在线观看xxxx免费 | 国产日韩成人 | 成人无遮挡 | 一级毛片免费毛片一级毛片免费 | 国精产品一区一区三区 | 欧美一级特黄刺激大片视频 | 在线成人看片 | 亚洲免费网站在线观看 | 免费h片网站 | 91这里只有精品 |