問題タブ [random-access]

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.

0 投票する
1 に答える
197 参照

java - Java アプレット ランダム アクセス ストレージ

java.io.RandomAccessFile を使用してデータの読み込みを管理する Java プロジェクトがあります。後で必要に応じてロードできる重要なポイントのマップを作成するファイルをシークします。これはうまくいきます。

アプレットとして実行したいのですが、ダウンロードしたファイルを保存できる一時ファイルを作成するにはセキュリティ権限が必要であり、意図した使用法にとって大きな障壁です。

メモリ (数 MB) を節約して、コンテンツを何らかのメモリ バッファに格納し、ローカル ファイルを扱うのと同じ方法でランダム アクセスできると思います...

セキュリティ権限を必要とせずに一時ファイルを作成する方法はありますか (私はそうではないと思います)?

最適なバッファリング オプションは何ですか? URL ベースの入力ストリームのコンテンツをバッファに取得し、そこからバイトを読み取り、現在のシーク位置を記録および変更するにはどうすればよいですか?

0 投票する
4 に答える
668 参照

java - Javaでオブジェクトにランダムにアクセスすることは可能ですか?

基本的に、文字列オブジェクトのファイルがあります。オブジェクトの格納にはJava ObjectOutputStreamを使用しました。オブジェクト(文字列)にランダムにアクセスすることは可能ですか?たとえば、11番目のオブジェクトにアクセスしたい場合、readObject()を11回使用してその場所にループすることなく、その場所にジャンプできます。また、ジャンプして戻りたい場合は、最初からループしなくても実行できます。ありがとう。

示唆されているように、skipBytes() メソッドを使用して何らかのランダムアクセスを実現できると思います。オブジェクトが固定サイズであることを保証することはできませんが、それらのオブジェクトの位置の配列をファイルに保持できるとしたら、その配列をインデックスとして使用し、skipBytes() をランダム アクセスに使用できます。とにかく、実際にオブジェクトを書いているときにオブジェクトのサイズを知ることができたので、どうにかして位置を記録できたのでしょうか?

0 投票する
3 に答える
1762 参照

java - Java アクセス ファイルの位置を求めて、レコードのサイズを知る方法

ファイル記述子をレコードの先頭に移動したい。Recordという名前のクラスがあります。たとえば、パラメーターに従って、4 としましょう。4. レコードの先頭にアクセスしたいとします。このように、seek メソッドを使用することになると思います。しかし、私はレコードのサイズが必要です。C言語では、次のように言うことができます

しかし、Java では、自分のレコード サイズを知る方法を見つけることができませんでした。どうすればこれを行うことができますか?

0 投票する
3 に答える
1225 参照

web-services - リモート Web サーバー上の大きなメディア ファイルへのランダム アクセス

当社のアプリケーションの 1 つは現在、マップされたドライブに依存して、ローカル ネットワーク上の大きなメディア ファイル (20 ~ 100 MB) にアクセスしています。

これをある種の Web サービスに変更して、より安全にし、(ローカル ネットワークに依存せずに) Web サーバーに移動できるようにしたいと考えています。

これらは大きなメディア ファイルであるため、ファイルへのランダム アクセスが必要です (これにより、任意の時点からビデオを開始できます)。

さまざまな種類のメディア ファイル (MPEG、WMV、MOV、AVI など) があり、この目的のために特定の形式にエンコードすることは避けたいと考えています。むしろ、あたかもローカル ファイルであるかのように、ファイルにアクセスできるテクノロジが望ましいと考えています。

どのテクノロジーを使用する必要がありますか?

0 投票する
1 に答える
853 参照

clojure - ClojureのRandomAccessFileから正しく読み取る方法は?

私はClojureでMPQファイルを読み取るための小さなライブラリを開発しようとしてきましたが、MPQはバイナリ形式であるため、RandomAccessFileを使用することにしました。

ただし、メソッドRandomAccessFile#read()を正しく呼び出しているかどうかわからないため、メソッドに問題があります。

コードは次のとおりです。

コードを実行すると、

例外。一時変数に対してもこれを試してみました

ただし、どちらも同じ例外が発生します。Javaの同じコードは次のようになります

0 投票する
1 に答える
357 参照

java - Java で Buffered IO を使用してファイル内の 2 つの異なる場所から読み取る方法

マージソートを実行するために、ファイルから数値を読み取っています。マージ ソートは、数値の大きなリストであり、使用可能なメイン メモリがほとんどないため、外部ソートとして実行する必要があります。私は実用的な実装を持っています。これは BufferedOutputStream を使用して出力を高速化し、入力ストリームに対しても同じことをしたいと考えています。ただし、マージを実行するには、2 つの異なる場所から入力を読み取る必要があります。

基本的に、私が持っている場合:

を使用していくつかの整数を読み取りますが、ファイルの他の部分にアクセスするためにInputStream.readInt()も使用したいのですFile.seek(n)が、ファイルが次にいつ呼び出されてより多くのデータが求められるかをどのように知るのでしょうか。または、同じ基本ファイルに対して 2 つの RandomAccessFiles を持つことは可能ですか?

0 投票する
2 に答える
1789 参照

database - ランダムアクセスを実装するデータベースエンジンはありますか?

ランダムアクセスとは、ランダムレコードを選択することを意味するものではありません。ランダムアクセスは、配列から値をフェッチするのと同じ方法
で、すべてのレコードを同じ時間でフェッチする機能です。 ウィキペディアから:http://en.wikipedia.org/wiki/Random_access

私の意図は、メモリには大きすぎる文字列の非常に大きな配列を格納することです。
しかし、それでもアレイへの利点またはランダムアクセスがあります。

私は通常MySQLを使用していますが、Bツリーとハッシュのインデックスタイプしかないようです。

そのようなことを実行できない理由はわかりません。
インデックスは配列のようになり、ゼロから始まり、1ずつ増加します。

文字列に従ってインデックスを取得するのではなく、単にそのインデックスによって文字列をフェッチしたい。目標は、パフォーマンスを向上させることです。また、文字列にアクセスする順序を制御することもできません。これは、クライアントから常にインデックスを受け取り、そのインデックスの文字列を返すリモートDBサーバーになります。

これに対する解決策はありますか?

psこれは、メモリに収まらないランダムアクセスコンテナの複製だとは思いませんか?
その質問では、彼はランダムアクセス以外の他の要求を持っているからです

0 投票する
3 に答える
1005 参照

arrays - 配列以外のランダムアクセスをサポートする他のデータ構造は何ですか?

ランダムアクセスをサポートする他のデータ構造があるかどうかを考えようとしています(つまり、一定時間の複雑さ)。配列のみがこの方法で構築されているように見えます。

注: 配列の上にデータ構造を構築することはできません

0 投票する
2 に答える
24323 参照

c - コンパイルエラー:構造体または共用体ではないもののメンバーの要求

編集: 問題が解決されたため、以下のコードが機能するように変更されました。

具体的に(*hardwareList.next_item)->nextは、元々は角かっこなしで(たとえば*hardwareList.next_item->next)で書かれていて、コンパイラはそれを理解していませんでした。

コンパイラが私のCコードと混同される理由を解明しようとしています。簡単に追加できるように、すべてのアイテムと、最後の「次の」変数のアドレスへのポインタを格納するリンクリストを作成しようとしています。

コンパイラは言う: