第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何通過java獲取txt的列內(nèi)容

如何通過java獲取txt的列內(nèi)容

慕田峪7331174 2023-06-08 17:34:23
String pathname = "F:\\Calibration.txt";try (FileReader reader = new FileReader(pathname);    BufferedReader br = new BufferedReader(reader)) {        String line;        while ((line = br.readLine()) != null) {            String[] split = line.split(",");            System.out.println(split[0]);        }此代碼可以獲取第一列的內(nèi)容,但列不固定。我想 - 按列數(shù)自動獲取每列的數(shù)據(jù)不使用像這樣的修復(fù)數(shù)字 split[fixNumber]27311,28841,30577,31583,026401,28046,30234,31255,5025495,27263,29891,30926,10024594,26494,29548,30597,15023696,25737,29206,30269,200這是 Calibration.txt 的內(nèi)容預(yù)期輸出:27311 26401 25495 24594 23696colmun 不固定,我不想使用 split[0] 或 (split[1] split[2]...)這是我的新代碼:  List<String> list = new ArrayList();  String pathname = "F:\\Calibration.txt";  try (FileReader reader = new FileReader(pathname);    BufferedReader br = new BufferedReader(reader)) {        String line;        while ((line = br.readLine()) != null) {            list.add(line);       }       for(int i = 0; i < list.size(); i++) {           System.out.println(i);                for(String a : list){                    String[] regex = a.split(",");                    System.err.println(regex[i]);                }            }
查看完整描述

1 回答

?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗 獲得超4個贊

假設(shè)您已經(jīng)閱讀了文件并將所有行存儲在ArrayList您完成的文件中。


 List<String> list = new ArrayList();

  String pathname = "F:\\Calibration.txt";

  try (FileReader reader = new FileReader(pathname);

    BufferedReader br = new BufferedReader(reader)) 

{

        String line;

        while ((line = br.readLine()) != null) {

            list.add(line);

       }


 }

如果你的第一行是


27311,28841,30577,31583,0


然后在這一行中,第 1 列(或索引 0)的值為 27311,


第 2 列 =28841,


第 3 列 =30577 等等..


如果你想要第 nth(或 n-1 索引)行的第 ith(或 i-1 索引)列,你需要執(zhí)行以下操作:


String row = list.get(n-1); //row n

String[] columns = row.split(",");//this gives you the columns

//Now access any column

String col1 = columns[0];

String colI = columns[i-1];

現(xiàn)在,根據(jù)您的預(yù)期輸出,您需要所有行的第一列。因此,您需要迭代列表,拆分它們并獲取第一列。


//iterate the list

for(String line : list){

    String[] columns = line.split(",");

    String col0 = columns[0];

    System.out.println("column 1 : "+col0);

}

如果您只想要每一行的第一列,另一種方法是使用正則表達(dá)式刪除其他列和逗號。


//iterate the list

for(String line : list){

    String col0 = line.replaceFirst("\\s*,.*", "");

    System.out.println("column 1 : "+col0);

}

要打印所有列,您還需要遍歷列數(shù)組,如下所示。


//iterate the list

    for(String line : list){

        String[] columns = line.split(",");

        for(int i =0; i<columns.length; i++)

             System.out.println("column "+ i +": "+columns[i]);

    }


查看完整回答
反對 回復(fù) 2023-06-08
  • 1 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號