import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class ReadFile {
public static void main(String[] args) throws IOException {
String fileContent = readFileContent("");
System.out.println(fileContent);
}
//參數string為你的文件名
private static String readFileContent(String fileName) throws IOException {
File file = new File(fileName);
BufferedReader bf = new BufferedReader(new FileReader(file));
String content = "";
StringBuilder sb = new StringBuilder();
while(content != null){
content = bf.readLine();
if(content == null){
break;
}
sb.append(content.trim());
}
bf.close();
return sb.toString();
}
}
求採納為滿意回答。
② 如何用java讀取一個txt文件內容,再創建一個新的txt文件,把內容保存進去
public static void main(String[] args) throws IOException,
ClassNotFoundException {
try {
FileInputStream in = new FileInputStream(//創建輸入流
"E:\\0326java\\javase\\src\\io\\TestFileInputStream.java");
FileOutputStream out = new FileOutputStream("E:\\1.txt");//創建輸出流
int i = 0;
while ((i = in.read()) != -1) {
System.out.print((char) i);//循環讀取文件數據
out.write(i);//每讀一個數據輸入到1.txt中
}
out.flush();
out.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
③ java如何讀取txt文件的內容
讀取TXT文件內容在Java中並非難事,基本步驟如下:
TXT文件通常通過流方式讀取。
Java提供FileInputStream類,使用文件路徑或文件對象初始化流。
構造InputStreamReader,指定字元編碼,以方便文本讀取。
使用BufferedReader配合readLine方法,讀取整行文本。
循環利用BufferedReader讀取文件內容,完成所需操作。
流是Java中重要概念,理解流的使用至關重要。
新版本Java引入NIO API,簡化文件讀寫。
對於JDK11及以上,讀取文本文件非常簡單。
對於JDK8,使用流按行讀取文本內容。
注意:在讀取文件時可能出現亂碼問題,解決方法是使用類庫Cpdetector並導入相關jar包或使用maven。
對於二進制讀取,可選用DataInputStream或RandomAccessFile。
RandomAccessFile允許移動文件指針,適用於跳過位元組或整體讀取。
DataInputStream為純粹的輸入流。
處理大量數據時,考慮以下策略:
1. 使用ByteBuffer和堆外內存,避免OOM,適合內存充足情況。
2. 利用RandomAccessFile分塊讀取,記錄讀取位置,處理後繼續讀。
3. 多線程處理,將文件分割為多個塊,分發至多個線程並發處理。
4. 使用BufferedReader與正則表達式匹配特徵數據,處理後繼續讀取。
④ JAVA 讀取 TXT 文件中的內容
在Java中讀取TXT文件內容,可以使用FileInputStream類讀取文件,再通過 InputStreamReader類將其轉換為可讀取的字元流,接著使用BufferedReader類進行逐行讀取。具體代碼如下:
首先創建FileInputStream對象,使用File類指定文件路徑,例如:
FileInputStream fis = new FileInputStream(new File(path));
接著,創建一個InputStreamReader對象,將FileInputStream作為參數傳遞給它:
InputStreamReader isr = new InputStreamReader(fis);
然後,利用BufferedReader對字元流進行處理:
BufferedReader br = new BufferedReader(isr);
為了存儲每一行讀取的內容,我們定義一個字元串變數str:
String str = "";
使用while循環來讀取文件中的每一行,直到沒有更多的行為止。在循環內部,使用readLine()方法讀取一行,並將其賦值給str變數:
while((str=br.readLine())!=null){
System.out.println(str);
}
這個循環會持續執行,直到讀取到文件的最後一行。每次循環中,readLine()方法會讀取一行文本,並將其存儲在str變數中,然後將str的值列印出來。當readLine()返回null時,表示文件讀取完畢,循環結束。
需要注意的是,使用完這些對象後,應該確保關閉它們以釋放資源。可以使用try-with-resources語句來自動完成關閉操作,如下所示:
try (FileInputStream fis = new FileInputStream(new File(path));
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);) {
String str = "";
while((str=br.readLine())!=null){
System.out.println(str);
}
}
這樣可以確保在讀取文件過程中,資源得到及時釋放,避免資源泄露。
以上就是使用Java讀取TXT文件內容的完整步驟,包括創建文件流對象、讀取文件內容以及處理讀取到的數據。
⑤ 怎樣用JAVA打開一個已經寫好的TXT文件
JAVA打開一個已經寫好的TXT文件代碼如下:
(1):public File chooseFile(int chooseMode)
{
JFileChooser fileChooser;
File fileName;
fileChooser=new JFileChooser();
int returnVal=-1;
// fileFilter=new FileNameExtensionFilter("文本文檔","txt");
switch(chooseMode)
{
case FILE_OPEN_CHOOSE:
returnVal=fileChooser.showOpenDialog(this);
break;
case FILE_SAVE_CHOOSE:
returnVal=fileChooser.showSaveDialog(this);
break;
}
if(returnVal==fileChooser.APPROVE_OPTION)
fileName=fileChooser.getSelectedFile();
else fileName=null;
return fileName;
}
這個是通過打開文件對話框獲取文件
public void showFile(File file) throws IOException
{
textArea.setText("");
BufferedReader br=new BufferedReader(new FileReader(file));
String text;
// buffer=new StringBuffer();
while((text=br.readLine())!=null)
// buffer.append(text+"\n");
textArea.append(text+"\n");
}
(2):import java.io.*;
import java.util.*;
public class readData
{
public static void main(String[] args)
{
BufferedReader in=new BufferedReader(new FileReader("你的文件名.txt"));
String s;
int i=0;
while((s=in.readLine())!=null)
{
StringTokenizer t=new StringTokenizer(s,"|");//"|"為分隔符
p[i].id=Integer.parseInt(t.nextToken());//將第一個記錄賦給變數id
p[i].name=t.nextToken();//將第二個記錄賦給變數name
p[i].age=Integer.parseInt(t.nextToken());//將第三個記錄賦給變數age
p[i].sex=t.nextToken();//將第四個記錄賦給變數sex
i++;
}
in.close();
}
}
//**********************************************************
假設賦值得變數結構如下:
class p
{
public int id;
public String name;
public int age;
public String sex;
}