有沒有什麼方法可以多次讀取cobol中的順序文件?例如,您到達文件的末尾,然後從文件的開始處返回?在cobol中讀取順序文件
回答
關閉文件,重新打開並重新閱讀。
我很想知道爲什麼要這樣做?
在這種情況下,JOINKEYS
的DFSORT
幫助很多。如果您的要求只是從file1中搜索字符串file2中的字符串,我強烈建議您不要使用這種方法。
嗨拉賈,Joinkeys或dfsort不會幫助,因爲沒有鑰匙,也沒有什麼可以排序。文件1是垃圾,文件2每行只有一個字符串。目標是從文件2的每行中找到文件1中的單個字符串。如果在文件1中找到了某個字符串,請在文件2中將該標記放在該字符串中,然後在下一行中獲取下一個項目,然後查找從頂部發生文件1中的字符串。 – Grekoz
我明白了......但如果你覺得你可以使用它們,仍然會嘗試合併......我覺得你曾經想過......只用你的cobol程序邏輯...如果你仍然需要一些建議,把一個簡要的文件佈局和lrecls的要求可能會嘗試解決... –
替代方法:使用實用程序(或其他COBOL程序)複製文件1。副本文件1a具有ORGANIZATION RELATIVE(可能是VSAM RRDS)。在您的掃描/匹配程序中,您可以使用START語句重新定位到文件1a的第一條記錄。
等價地,你可以創建一個索引順序文件1a,其中鍵只是一個隨機的升序數,恰好與記錄號相同。
任何時候打開,處理,關閉,重新打開,重新處理,重新關閉都是簡單的愚蠢,更不用說高達1,000。這是非常非常耗時的。
使用Cobol程序,您可以將較小的文件存儲在一個表中,並按照建議對較大文件處理表。
但是,您不需要程序。 JOINKEYS 將給你解決方案。
你沒有鑰匙?哦,親愛的,親愛的。你做一個。對於兩個文件上的每條記錄,您都使用相同的單字節密鑰,並且具有相同的值。在該鍵上執行JOINKEYS。在JOINKEYS上指定SORTED(如果您有DFSORT,則指定NOSEQCK)您有「笛卡爾」聯接。使用SS(一個子字符串匹配)可以用於整個記錄或記錄的一部分。你的實際要求的輸出是不清楚的,我不認爲你現在會想出來。
使用DFSORT,您可以一步完成。使用SyncSort,如果您的版本支持JNFnCMTL文件,則可以一步完成。
- 1. 讀取COBOL DAT文件
- 2. Cobol二進制文件讀取
- 3. 在COBOL中讀取文件中的浮點數
- 4. COBOL讀取/存儲在表
- 5. 按照MULE的順序讀取文件
- 6. 使用os.listdir讀取文件的順序?
- 7. COBOL - 如何從.dat文件中讀取和導出文本
- 8. vb.net從文件夾中讀取所有文件的順序
- 9. 按文件名中的數字順序讀取文件
- 10. 從文件夾中讀取文件的順序
- 11. 要按順序讀取文件夾中的所有文件
- 12. 在Python中按特定順序讀取文件
- 13. 如何在python中以相反順序讀取csv文件
- 14. 在BASH腳本中按順序讀取文件
- 15. 如何以排序順序讀取目錄中的文件?
- 16. java文件從文檔中間讀取反向順序
- 17. COBOL程序不寫文件
- 18. COBOL程序順序讀取平面文件並將其寫入輸出文件,無法讀取所有循環將無限
- 19. 從linux中的目錄中讀取文件的順序
- 20. newbie:php如何在文件名中按文件名的順序讀取
- 21. 順序文件中讀取在IBM的DataStage不正確的文件數據8.1
- 22. 閱讀索引文件(COBOL)的問題
- 23. 從多個文件夾中讀取多個非順序圖像
- 24. 讀取文件在序言
- 25. 如何在Java中順序讀取期間獲取當前文件位置?
- 26. 如何從文檔目錄中的子文件夾順序讀取文件iPhone
- 27. 如何讀取文件,顛倒順序並寫入逆序
- 28. 讀取和寫入數據到順序訪問文本文件
- 29. python - 讀取文本文件,操作順序
- 30. Directory.EnumerateFiles讀取順序(C#)
Hi TrueDub,我正在搜索文件2中文件1中字符串的出現,但沒有鍵。儘管如此,謝謝你的出色答覆。 – Grekoz
將文件讀入數組並輕鬆搜索每個文件會更容易嗎?它肯定會更快,但如果它是一個巨大的文件,您可能會遇到內存問題。 – TrueDub
在這種情況下,'DFSORT'的'JOINKEYS'幫助很多。我強烈建議你的方法,如果你的要求是隻搜索字符串從file1與字符串在file2中的列表... –