問題タブ [seek]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - C# のシークの奇妙な動作
ストリームに問題があります。FileStream と BinaryReader を使用していますが、奇妙な動作が発生しました。まず第一に(これは別の質問でした。StreamReaderを使用すると、Peekを実行するとpsoitionが変更されたという奇妙な動作が発生したため、BinaryReaderを使用しましたが、問題ありませんでした)今、Seekを実行すると(を使用してもちろん、基礎となるベース ストリーム - FileStream) 正常に動作する (正しい位置に到達する) 場合もありますが、ファイルの長さをはるかに超えた位置にジャンプすることもあります。 1233*267 の位置にたどり着きましたが、1 日後には問題なく、問題は別の場所にありました。
そしてシーク部分:
ありがとう、
python - Pythonで現在開いているファイル行を取得するにはどうすればよいですか?
ファイルを開いて、ファイルのどこかでseek()を実行するとします。現在のファイル行をどのようにして知ることができますか?
(私はファイルをスキャンした後にシーク位置を行にマップするアドホックファイルクラスで個人的に解決しましたが、他のヒントを見て、この質問をスタックオーバーフローに追加したかったので、どこでも問題を見つけることができませんでしたグーグル)
perl - Perl で標準入力を受け取るファイルハンドルをリセットするにはどうすればよいですか?
Perlスクリプトを発行すると、標準入力、たとえば
バグを含むスクリプトがあります。標準入力の最初の行を読み取り、その最初の行から何かを取得し、その後の読み取りで標準入力の 2 行目から n 行目までのみを解析します。
そこでseek
、このスクリプトにステートメントを追加して、ファイル ハンドルをファイルの先頭にリセットしようとしました。
このステートメントを追加するseek
と、ファイル入力では機能しますが、標準入力では機能しません。スクリプトが次のエラーでクラッシュします。
スクリプトの開始時に標準入力の最初の行を正しく読み取り、ファイル ハンドルをリセットしてから、標準入力の 1 行目から n 行目をすべて読み取るにはどうすればよいですか?
ループの前に最初の行を保存して処理するための特別なケースを書くことができると思いwhile
ますが、標準入力とファイル入力の両方を処理できる、この問題に対するよりクリーンな解決策があることを願っています。
python - PythonはHTTPを使用してリモートファイルをシークします
リモート(HTTP)ファイルの特定の位置を探して、その部分だけをダウンロードできるようにするにはどうすればよいですか?
リモートファイルのバイトが1234567890だったとしましょう
私は4を探し、そこから3バイトをダウンロードしたいので、次のようになります:456
また、リモートファイルが存在するかどうかを確認するにはどうすればよいですか?os.path.isfile()を試しましたが、リモートファイルのURLを渡すとFalseが返されます。
compression - シーク可能な圧縮ライブラリはありますか?
解凍時のランダム アクセスをサポートする一般的な圧縮ライブラリを探しています。ウィキペディアを単一の圧縮形式に圧縮したいと同時に、そこから個々の記事を解凍/抽出したいと考えています。
もちろん、各記事を個別に圧縮することもできますが、これではあまり圧縮率が高くなりません。LZO圧縮ファイルは、個別に解凍できる多くのチャンクで構成されていると聞いたことがありますが、そのためのAPI +ドキュメントを見つけていません。zlib で Z_FULL_FLUSH モードを使用することもできますが、他のより良い代替手段はありますか?
flash - ストリーミングビデオプレーヤーでシークしようとしているときにエラーが発生するのはなぜですか
私はここでビデオプレーヤーを構築しています:http://leongaban.com/stackoverflow/RTMP/
これはストリーミングRTMPであり、ユーザーがグルーブバー(緑色のプログレスバーの下にある灰色のバー)をクリックした場合にビデオを正しくシークさせようとしています。現在、シークせず、継続時間変数にNaNが表示され、エラーが発生します。プログレスバーの幅の変数で、私を困惑させています。
何らかの理由で、シーカー関数内で使用すると、videoDuration変数がNaNとして表示されます。また、グルーブバーの合計幅であるplayerCntrls.progressTotalWをトレースしようとすると、nullオブジェクト参照エラーが発生します。
VideoDisplay.as
[トレース]
ただし、updateDisplay関数では、同じ変数をトレースまたは使用してもエラーは発生しません。
ここで、videoDuration変数を設定します。
playerCntrlsは私のPlayerControls.asにリンクしています
PlayerControls.as
ここで、PlayerControls.asにEventListenerを追加して、VideoDisplay.asのシーカー関数を呼び出します。
ヒントやアドバイスをいただければ幸いです。:)
javascript - javascriptvbcriptシークeof
Windows 2003でdestopスクリプトを作成していますが、ファイルを開いてファイルの最後までシークし、最後の行を読み取る必要があります。「シーク」を探しましたが見つかりませんでした。オプションのopenTextFileを見ましたが、ありませんでした。
赤いフラグでファイルを開き、行ごとに読み取ることで実装します。大きなファイルでは時間がかかりますが、
これをすばやく行う方法を知っている人はいますか(vbスクリプトまたはjavascriptのいずれかで)
iphone - MPMusicPlayerControllerを使用して、musicPlayer.currentPlaybackTimeをシークに設定しますが、有効になるまでに2秒かかります
スクラバーとして機能するUISliderがあります。親指をドラッグすると、次のように実行します。
それはうまくいきます、音楽は前進を求めています。親指を離すと、NSTimerを再起動して時間の更新を送信し、UISliderの同期を維持します。問題は、親指を離すと、最初の数回のコールバックに前の時間値が含まれることです。これにより、親指は新しい値に戻る前に元の位置に戻ります。非常に見苦しい。
誰かがこの振る舞いと修正する方法の経験がありますか?この異常を実証したい場合は、サンプルプロジェクトを提供できます。
c++ - g ++でテキストファイルの特定の部分に直接アクセスするにはどうすればよいですか?
いくつかのレコードを含むテキストファイルがあります。各レコードは、100文字の長さの1行に格納されます。
n番目のレコードに直接アクセスしたいとします。forループを使用して、レコードに到達するまでn行を読み取ることができます。
しかし、どうすれば直接アクセスできますか?
c - lseek / writeは、errno = 9(不正なファイル記述子)で突然-1を返します。
私のアプリケーションはlseek()
、データを書き込むための目的の位置を探すために使用します。ファイルはを使用して正常に開かれ、open()
私のアプリケーションは何度も使用できました。lseek()
write()
ある時点で、一部のユーザーにとっては簡単に再現できない場合は、 lseek()
-9で-1を返しますerrno
。これより前にファイルが閉じられず、ファイルハンドル(int)がリセットされません。
この後、別のファイルが作成されます。open()
再び大丈夫でありlseek()
、write()
再び動作します。
さらに悪いことに、このユーザーは完全なシーケンスを再試行し、すべてが順調でした。
だから私の質問は、OSが何らかの理由でファイルハンドルを閉じることができるかということです。何が原因でしょうか?ある種のファイルインデクサーまたはファイルスキャナー?
これを解決するための最良の方法は何ですか。この擬似コードは最良の解決策ですか?(コードレイアウトを気にせず、そのための関数を作成します)
誰かが似たようなことを経験しますか?
概要:ファイルのシークと書き込みは、特定のfdに対して正常に機能し、理由もなく突然errno=9を返します。