Java 如何找出兩個文字檔案中有相同欄位的行
Java有什麼方便的類庫做檔案對比嗎?比如:檔案Old.txt和New.txt,第一行是列名,需要取出檔案中Name欄位相同的內容。部分資料如下:
Old.txt |
New.txt |
Name Dept Rachel Sales Ashley R&D Matthew Sales Alexis Sales Megan Marketing |
Name Dept Emily HR Ashley R&D Matthew Sales Alexis Sales Megan Marketing |
期望運算結果如下:
Java不是集合性語言,需大量使用迴圈和判斷,寫起來會比較長,程式碼大概要寫成這樣:
... while ((String lineText = comparedReader.readLine()) != null) { String comparedLine = lineText.trim(); if (searchText.equals(comparedLine)) { lineStr = "###=Equal:" + lineNum + "=###\n"; break; } lineNum++; } rbw.write(lineStr); comparedReader.reset(); ... |
文字對比方面,用集算器SPL會簡單很多,精心設計了一套集合運算領域的函式庫,實現同樣過程程式碼更簡潔,比如上面問題,僅2行:
|
A |
1 |
=Old=file("Old.txt").import@t(),New=file("New.txt").import@t() |
2 |
=Old.(Name)^ New.(Name) |
其實還有很多情況用Java處理文字不太方便,甚至大檔案對比、關聯計算、入庫等需求,但用集算器SPL卻很簡單,感興趣可以參考: 、 、
集算器還很容易嵌入到Java應用程式中, 有使用和獲得它的方法。
關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2700452/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何找出兩個文字檔案中有相同欄位的行
- 如何在 Linux shell 中找出所有包含指定文字的檔案Linux
- 使用PowerShell比較本地文字檔案與Web上的文字檔案是否相同Web
- springboot~ConstraintValidatorContext驗證兩個欄位內容相同Spring BootAIContext
- mybatis自動填充多個表相同欄位的值MyBatis
- Shell 命令求兩個檔案每行對比的相同內容
- 找出倆個字串的相同並刪除字串
- Python Tips 01 : 判斷兩個檔案是否相同Python
- MySQL中修改一個資料庫下包含有某個相同欄位的所有表的欄位長度MySql資料庫
- java 統計大文字檔案的行數Java
- .NET CORE下最快比較兩個檔案內容是否相同的方法
- 兩個大陣列foreach,找出相同的key數量,所用的時間對比陣列
- C#中有關欄位的訪問控制C#
- 一個Java檔案解決mybatis呼叫資料庫欄位與Java類檔案屬性不對應JavaMyBatis資料庫
- 輸入兩個長度相同的字串,比較兩個數在相同位置的字元是否相同字串字元
- 將多個JSON欄位對映到單個Java欄位JSONJava
- php怎麼知道一個檔案中有幾行內容PHP
- Linux求兩個文字檔案的交集、差集、並集Linux
- 文字檔案與二進位制檔案的區別
- oracle中建立insert select from 語句實現兩個表中某一個欄位相同統計其他不同欄位的情況Oracle
- 使用 Eloquent ORM 使用 with 模型關聯查詢,如何處理select不同模型的欄位(欄位名可能相同)ORM模型
- MySQL資料庫查詢多個欄位值全部相同的記錄MySql資料庫
- 怎樣Oracle把多條記錄的相同欄位拼成一個字串Oracle字串
- mysql 計算 一個文字欄位的內容一個文字出現的次數MySql
- mac下將找出的檔案進行復制Mac
- SQLLDR——CTL檔案:欄位設定SQL
- 在Struts中應用Validator進行兩個欄位的比較的方法。
- 將資料庫照片大欄位下卸到檔案系統,照片檔名以某一個欄位命名資料庫
- Laravel 中兩張資料表 left join 怎麼讓相同欄位不被覆蓋?Laravel
- mysql sql同一個欄位多個行轉成一個欄位查詢MySql
- 保留兩位小數:資料庫欄位型別NUMBER,Java欄位型別Double型別資料庫型別Java
- js陣列操作——物件陣列根據某個相同的欄位分組JS陣列物件
- 【Java】讀寫文字檔案Java
- mybatis利用example檔案進行異表欄位模糊查詢MyBatis
- 同一張表的兩個欄位比較查詢
- Oracle dblink比較兩個庫中的表欄位Oracle
- Oracke大欄位Blob匯出到檔案
- Dynamics CRM使用計算欄位自動計算兩個時間欄位的天數差