導航:首頁 > 編程語言 > java文件逐行讀取

java文件逐行讀取

發布時間:2024-07-15 19:21:38

java怎麼讀入文件,並逐行輸出

java讀入文件,並逐行輸出,先在D://home建立個文件夾,然後創建一個a.txt文件,然後編輯文件,文本編輯的編碼是utf-8,然後用流逐行讀取輸出,如下:

importjava.io.BufferedInputStream;
importjava.io.BufferedReader;
importjava.io.File;
importjava.io.FileInputStream;
importjava.io.InputStream;
importjava.io.InputStreamReader;

publicclassTestC{

publicstaticvoidmain(String[]args){
//獲取要讀取的文件
FilereadFile=newFile("D://home/a.txt");
//輸入IO流聲明
InputStreamin=null;
InputStreamReaderir=null;
BufferedReaderbr=null;

try{
//用流讀取文件
in=newBufferedInputStream(newFileInputStream(readFile));
//如果你文件已utf-8編碼的就按這個編碼來讀取,不然又中文會讀取到亂碼
ir=newInputStreamReader(in,"utf-8");
//字元輸入流中讀取文本,這樣可以一行一行讀取
br= newBufferedReader(ir);
Stringline="";

//一行一行讀取
while((line=br.readLine())!=null){
System.out.println(line);

}

}catch(Exceptione){

e.printStackTrace();
}finally{
//一定要關閉流,倒序關閉
try{

if(br!=null){
br.close();
}
if(ir!=null){
ir.close();
}
if(in!=null){
in.close();
}
}catch(Exceptione2){

}

}

}


}

結果:
helloworld
您好
123456

Ⅱ java 讀取csv文件里指定行列的值,比如讀取第三行第二列的值。

java讀取csv文件,按照指定格式:
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
/**
* 讀取CSV文件
* 所謂"CSV",是Comma Separated Value(逗號分隔值)的英文縮寫,通常都是純文本文件。
* 可以看成資料庫程序與電子表格之間一種中間通信文件,資料庫可以導出。csv格式,excel也可以導入並打開。csv文件,例子如下
* sj_mino1001.jpg,715282,4FB55FE8,
* sj_mino1002.jpg,471289,93203C5C,
* sj_mino1003.jpg,451929,C4E80467,
*
*/
public class CSVDeal{
public static void main(String[] args) {
try {
String[] stringList;
String csvFilePath = "C:\\Users\\Administrator\\Desktop\\20140227135936.csv";
String sourceFileString= "C:\\Users\\Administrator\\Desktop\\test.csv";
CsvReader reader = new CsvReader(csvFilePath); //默認是逗號分隔符,UTF-8編碼
CsvWriter writer = new CsvWriter(sourceFileString);
/*
* readRecord()判斷是否還有記錄,getValues()讀取當前記錄,然後指針下移
*/
reader.readRecord();
writer.writeRecord(reader.getValues()); //讀取表頭
/*
* 逐行讀取,以免文件太大
* 處理表頭後面的數據,這里是在第12列數據統一加前綴"V"
*/
while(reader.readRecord()){
stringList = reader.getValues();
stringList[11] = 'V' + stringList[11];
writer.writeRecord(stringList);
}
reader.close();
writer.close();
}catch(Exception ex){
System.out.println(ex);
}
}
}

Ⅲ Java怎逐行讀取txt,再把值賦予給一個二維數組,救命啊,明天就要交作業了!

1.javaIO讀取文件裡面一行數據:
try{
Filefile=newFile(yourFile);
FileReaderfred=newFileReader(file);
BufferedReaderbfred=newBufferedReader(fred);
Stringtemp="";

int[][]yourArr=new[4][4];//前提是你的txt裡面的數據也是4行4列的
introw=0;
while(null!=(temp=bfred.readLine())){//讀取一行
String[]newArr=temp.split(",");
for(intj=0;j<newArr.length;j++)
yourArr[row][j]=Integer.parseInteger(newArr[j]);
row++;
}
//這里可以遍歷輸出.看看獲取有沒有成功
}catch(Exceptione){
System.out.print(e.toString());
}

Ⅳ java的xml的解析方式有什麼,他們的解析流程是怎麼樣的,有什麼區別

答:4種。(或者說是兩種,因為JDOM和DOM4J是DOM的兩個特殊情況)

1.SAX解析
解析方式是事件驅動機制!

SAX解析器,逐行讀取XML文件解析,每當解析到一個標簽的開始/結束/內容/屬性時,觸發事件。

可以在這些事件發生時,編寫程序進行相應的處理。

優點:

分析能夠立即開始,而不是等待所有的數據被處理。

逐行載入,節省內存,有助於解析大於系統內存的文檔。

有時不必解析整個文檔,它可以在某個條件得到滿足時停止解析。

缺點:

1.單向解析,無法定位文檔層次,無法同時訪問同一個文檔的不同部分數據(因為逐行解析,當解析第n行時,第n-1行)已經被釋放了,無法再對其進行操作)。

2. 無法得知事件發生時元素的層次, 只能自己維護節點的父/子關系。

3. 只讀解析方式, 無法修改XML文檔的內容。

2. DOM解析
是用與平台和語言無關的方式表示XML文檔的官方W3C標准,分析該結構通常需要載入整個 文檔和內存中建立文檔樹模型。程序員可以通過操作文檔樹, 來完成數據的獲取 修改 刪除等。

優點:

文檔在內存中載入, 允許對數據和結構做出更改。訪問是雙向的,可以在任何時候在樹中雙向解析數據。

缺點:

文檔全部載入在內存中 , 消耗資源大。

3. JDOM解析
目的是成為Java特定文檔模型,它簡化與XML的交互並且比使用DOM實現更快。由於是第一 個Java特定模型,JDOM一直得到大力推廣和促進。

JDOM文檔聲明其目的是「使用20%(或更少)的精力解決80%(或更多)Java/XML問題」 (根據學習曲線假定為20%)

優點:

使用具體類而不是介面,簡化了DOM的API。

大量使用了Java集合類,方便了Java開發人員。

缺點:

沒有較好的靈活性。

性能不是那麼優異。

4. DOM4J解析
它是JDOM的一種智能分支。它合並了許多超出基本XML文檔表示的功能,包括集成的XPath 支持、XML Schema支持以及用於大文檔或流化文檔的基於事件的處理。它還提供了構建文檔表示的選項, DOM4J是一個非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一 個開放源代碼的軟體。如今你可以看到越來越多的Java軟體都在使用DOM4J來讀寫XML。

目前許多開源項目中大量採用DOM4J , 例如:Hibernate。

Ⅳ java中用scanner逐行讀取文件,但某一行的數據太大,可以達到上千萬個字元

如果是這樣的話,不建議通過scanner來讀取那麼大量的字元數,建議您把原本要輸入的數據存儲到一個文件中,然後scanner讀取的只是一個文件路徑,然後在你的程序中來解析這個文件的數據即可,這樣也好維護好擴展,不至於在命令行下輸入一大堆東西,有時候都搞不清楚了,而且你直接輸入命令行,還會出現各種問題,假設你的數據中包含空格什麼的,會被拆分成多個,總之這種做法是極其不推薦的,希望你能考慮使用我上面提到的方法試試。

閱讀全文

與java文件逐行讀取相關的資料

熱點內容
伺服器地址訪問不了 瀏覽:46
單片機idata怎麼使用 瀏覽:176
中國銀行維護公告在APP哪裡看 瀏覽:268
9306交換機命令 瀏覽:202
團隊介紹頁面源碼 瀏覽:329
javaudpsocket編程實例 瀏覽:457
knd數控銑床怎麼編程 瀏覽:393
arduino八腳單片機 瀏覽:269
web伺服器沒錢怎麼辦 瀏覽:889
新建文件夾一播放 瀏覽:533
手機系統源碼什麼意思 瀏覽:167
繁體pdf轉簡體 瀏覽:652
雲伺服器更改時間 瀏覽:993
解壓球怎麼過 瀏覽:677
時間伺服器埠為什麼要123 瀏覽:363
思科帶寬配置的命令 瀏覽:54
壓縮模量孔隙比 瀏覽:692
安卓開發如何分析日誌 瀏覽:878
單片機編程小燈 瀏覽:276
oppor9s怎麼給軟體加密 瀏覽:37