檔案夾里的txt檔案是一直在產生,怎么做到實時把檔案夾里的檔案讀取后寫到資料庫里?然后洗掉原檔案。怎么個思路,請大神幫忙想一個。謝謝
uj5u.com熱心網友回復:
txt內容是怎樣的?這個要看一下。一般來說,xls或csv格式,直接可以通過sql腳本來讀取寫入。放到計劃作業中即可。
uj5u.com熱心網友回復:
new一個 FileSystemWatcher 監聽一下.發生變化了 丟進執行緒池去讀取readallline然后insert ..
uj5u.com熱心網友回復:
用Windows.form.timer定時器可以嗎?會不會有什么問題?主要目的就是要把檔案夾里的txt檔案讀取后寫進資料庫,然后洗掉源檔案。
這樣相當于資料庫里有實時記錄了。
uj5u.com熱心網友回復:
很好奇為啥你們會念念不忘定時器。2樓已經告訴你正確方式了,別告訴我又超綱了。如果你們說啥都回復超綱,那么我們需要回復什么他才不超綱??
定時器?
你想怎么比較?list<sting>么,求差集?求差集超綱么?
然后呢?如果又2個檔案生成了?你打算怎么辦?佇列么?佇列超綱么?
然后呢,一邊在洗掉,一邊在加佇列?執行緒么?執行緒超綱么?
如果又執行緒了,那list,佇列要不要lock,要不要使用安全串列,安全佇列?這個又超綱么?
好吧,你們自己來定義一下,到底要怎么樣的代碼,你們才覺得對新手好,對新手不超綱。
永不超綱,那不是永遠新手么
uj5u.com熱心網友回復:
正常代碼FileSystemWatcher
.觀察資料源()
.過濾產生唯一集()//FileSystemWatcher有可能產生重復
.訂閱(async filepath=>
if( await filereadok) //等待檔案讀取,檔案有可能占用,需要異步阻塞讀取
{
await 處理檔案();
await 洗掉檔案()
}
)
不要總用我是新手回復,新手不等于永遠原地踏步。如果你無法接受這些東西,2年后將很難立足。要知道net core已經完全更改了生態環境,即使是武漢這樣的城市,也開始招聘用15-30k的工資招聘neter了,如果還原地踏步,2年后差距會拉開的。要么8-12,要么15-30.倒是后別又是一堆人跑這里喊微軟害我
uj5u.com熱心網友回復:
我們為啥要這么說,其實你的問題稍微擴大一點,你就發現。這就是java們在這10年里做的事情。現在net core了,所以我們也需要做這些東西了1.兼容舊系統,大量實時檔案資料統計--------hadoop,hbase,MinIO,FastDFS,spark分布式檔案實時分析處理
2.升級新系統-------------mqtt,kafaka,ribitmq-----解決為啥我們要寫到檔案里,為啥不寫到公用訊息系統里
uj5u.com熱心網友回復:
@wanghui0380 感謝王總指教,還是不勝感激。也感謝二樓。我用timer也實作了。就不知道有啥問題沒有。下面我按照FileSystemWatcher思路改下。試驗OK后反饋。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/43100.html
標籤:C#
