cost 246 ms
將最后 N 個字節寫入使用 FILE_FLAG_NO_BUFFERING 打開的文件

[英]Writing last N bytes to file opened with FILE_FLAG_NO_BUFFERING

當將大量順序數據寫入磁盤時,我發現有一個內部 4MB 緩沖區,當打開文件進行寫入時,我指定[FILE_FLAG_NO_BUFFERING][1] ,以便使用我的內部緩沖區。 但這也產生了寫入完整扇區塊(在我的機器上為 512 字節)的要求。 如何將最后 N<512 個字節寫入磁盤? W ...

在TCL中,當文件處於連續寫入操作時,可以刪除文件的前幾行或n行

[英]In TCL, is it possible to delete top few or n lines of file, when file is under continuous write operation

以下是有關如何將數據寫入文件的代碼。 設置fid [打開“ file.txt” w] fconfigure $ fid-緩沖線 我想知道在文件處於寫入模式時,是否有任何方法可以刪除文件的前n行而不關閉fileID(即fid)。 ...

調用文件句柄上的CloseHandle是否打開寫入暗示FlushFileBuffers?

[英]Does calling CloseHandle on a file handle open for writing imply FlushFileBuffers too?

我遇到了與此類似的代碼(為MCVE剝離): 最后一部分讓我感到迂腐,因為我的印象是調用CloseHandle會將任何緩沖的輸出刷新到磁盤(類似於fclose(FILE *) ,C標准明確記錄緩沖區將被刷新)。 但是,我無法在MSDN上的CloseHandle文檔中找到此信息。 那 ...

標准I / O流— fgets()緩沖類型

[英]Standard I/O stream — fgets() buffering type

《 Unix環境下的高級編程》一書在第15章討論了管道 ,它表明在處理標准I / O功能時,我們應該注意緩沖類型。 不同的打開的標准I / O流的緩沖類型如下(在本書第5章中討論): 標准錯誤沒有unbuffered 連接到終端設備的流是line-buffered ...

Cygwin終端緩沖STDOUT

[英]Cygwin terminal buffers STDOUT

我使用Altera Quartus軟件,它帶有自己的Cygwin發行版和一個啞終端,根據Altera的開始菜單中的快捷方式,它使用 此批處理文件為Quartus配置環境並啟動bash。 當我使用這個窗口運行Altera工具時,它們的輸出會立即(不是緩沖)和顏色輸出。 我也有自己的 ...

從Windows上的subprocess.stdout實時讀取

[英]Real time read from subprocess.stdout on Windows

要強調的是,問題是實時讀取而不是非阻塞讀取 。 之前有人問過,例如subprocess.Popen.stdout - 實時讀取stdout(再次) 。 但是沒有提出令人滿意的解決方案。 作為示例,以下代碼嘗試模擬python shell。 但是,從p.stdout讀取時會被阻止 ...

Java 與 NetBeans 7.2.1 - 執行順序問題

[英]Java with NetBeans 7.2.1 - Execution order issue

考慮 NetBeans Java 應用程序中的以下兩個類。 主要類: 還有一個像這樣的工人階級: 奇怪的是,輸出結果按以下順序: 應該在哪里: 如果我將 netbeans 的處理器關聯設置為僅使用一個 cpu 核心,那么至少初始部分沒問題,而其他控制消息(Worker 已停止。)仍然 ...

SQL server - 高緩沖IO和網絡IO

[英]SQL server - high buffer IO and network IO

我有一個關於 SQL 服務器的性能調整問題。 我有一個需要每個月運行的程序,需要超過 24 小時才能完成。 我需要調整這個程序,希望可以將運行時間減少到 12 小時或更短。 由於該程序不是我們開發的,我無法查看程序內容並進行修改。 我所能做的就是打開 SQL 服務器分析器和活動監視器來跟蹤和分析 ...

使用用戶緩沖的I / O進行文件操作

[英]Using user-buffered I/O for File operations

我是系統編程的新手,如果我的疑問很模糊,請介意。 我讀到使用了內置的用戶空間緩沖區,這樣我們就可以通過系統調用通過內核來訪問塊大小的數據,而這需要花很大的錢,但是在用戶空間中,我們可以對小尺寸的數據進行細微的訪問。這種方法是有效的,但我不了解的是,因為這些用戶緩沖區與打開文件的每個進程有關 ...

如何在Qt中的“動態緩沖區”上存儲數據?

[英]How to store data on a “dynamic buffer” in Qt?

我嘗試了QBuffer,但似乎對我沒有用。 我需要類似Java中的Buffer類的東西 即,我想將數據注入緩沖區,並且當我從末尾讀取n大小的數據時,應將其刪除或將查找指針移動到正確的位置。 上下文:我必須通過串行端口(逐行)發送文件。 主程序注入文件和管理連接的我的線程,在可能的 ...

在寫入文件時計算java中文本文件的大小

[英]Counting the size of a text file in java while writing to the file

這個問題是對這個問題中接受的答案的跟進。 我正在嘗試實施 Aaron 建議的方法:包裝 FileOutputStream 以包含保持到目前為止寫入的字節數計數的邏輯。 然而,這種方法似乎並沒有像預期的那樣奏效。 OutputStreamWriter 似乎正在使用StreamEncoder ,它在委 ...

如何在Erlang的標准輸入上讀取字符

[英]How to read character-wise on the standard input in Erlang

我正在嘗試編寫一個基本的視頻游戲,並希望從鍵盤輸入輸入。 因此,我需要在生成標准輸入時讀取字符。 由於緩沖,io:get_chars,io:fread只有在按下返回鍵后才會返回。 是否可以在生成標准輸入時訪問這些字符? 我該怎么辦? 項目的目的不是制作真實的游戲,它 ...

有什么辦法可以找到文件對象的緩沖區大小

[英]Is there any way to find the buffer size of a file object

我正在嘗試“映射”一個很大的ascii文件。 基本上,我會讀取行,直到找到某個標簽為止,然后我想知道該標簽的位置,以便稍后可以再次查找它以提取關聯的數據。 現在,這個tell並沒有給我正確的位置。 以前已經以各種形式提出了這個問題。 原因大概是因為python正在緩沖文件對象。 ...

使用Java中的System.in在Scanner上進行緩沖

[英]Buffering with Scanner upon System.in in Java

我在Java中使用掃描儀時遇到問題。 我有一個解析System.in並基於此數據創建對象的方法。 但是,如果我在方法內部創建Scanner ,則有2種方法可以做到這一點,即關閉和不關閉。 在第一種情況下, Scanner.close()關閉System.in ,否則它將預先緩沖,並且其緩沖 ...

了解 Ruby 和 OS I/O 緩沖

[英]Understanding Ruby and OS I/O buffering

IO 緩沖在 Ruby 中如何工作? 使用IO和File類時,數據多久刷新一次到底層 ZF7B44CFFAFD5C52223D5498196C8A2E7BZ? 這與操作系統緩沖相比如何? 需要做些什么來保證給定的數據已經寫入磁盤,然后才能自信地讀回進行處理? ...

流式網絡上傳到使用Rack的套接字

[英]Streaming web uploads to socket with Rack

我目前有一個在FCGI處理程序中運行的Sinatra應用程序。 我想寫一個處理程序,它將位於rackup文件中(可能位於Sinatra應用程序前面),並將通過套接字將大文件上傳到另一個服務器(不先在磁盤上緩沖),並與請求聯鎖。 所以我想做的是某種流解碼發送工作流程,沒有param預處理。 ...

我如何在 Perl 中刷新文件?

[英]How do I flush a file in Perl?

我有 Perl 腳本,它每 3 秒向現有文件追加一個新行。 此外,還有一個從該文件讀取的 C++ 應用程序。 問題是應用程序在腳本完成並且文件句柄關閉后開始讀取文件。 為避免這種情況,我想在每行附加后刷新。 我怎樣才能做到這一點? ...

Lisp 格式和強制輸出

[英]Lisp format and force-output

我不明白為什么這段代碼在不同的實現中表現不同: 在 CLISP 中,它的行為與預期一樣,先打印提示,然后讀取,但在 SBCL 中,它先讀取,然后輸出。 我在互聯網上閱讀了一點並更改了它: 同樣,這在 CLISP 中工作正常,但在 SBCL 中它仍然讀取,然后輸出。 我什至嘗試將它分成另一個函 ...

OS的文件緩沖有害嗎?

[英]Is file buffering by OS harmful?

我為我的同事寫了一個下載庫。 它將下載的數據寫入文件。 我的同事發現,即使已經下載了100 Mb數據,該文件也會長時間保持較小。 所以他們建議我應該在每次write() flush()之后調用flush() ,這樣就不會占用內存來緩沖這些數據。 但我不認為100 Mb的虛擬內 ...

我可以停止在“ \\ n”上刷新std :: cout嗎?

[英]Can I stop std::cout flushing on “\n”?

根據這篇文章,當 std :: cout連接到交互式設備(例如終端窗口)時,它將在\\n上自動刷新。 否則(例如,通過管道傳輸到文件時)它將完全緩沖,並且僅在.flush()或std::endl上.flush() 。 有沒有一種方法可以覆蓋Microsoft Visual C ++中的此 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM