問題タブ [filewalker]
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.
java - 巨大なディレクトリのディレクトリ ツリーをたどり、ファイルを無視する方法
ネットワーク ドライブ上のディレクトリを調べて、階層内の子から親へのマップを作成する必要があります。1 つの代表的なディレクトリは 6 テラバイトで、900,000 個のファイルと 900 個のフォルダーがあります。ファイルではなく、フォルダーのみを気にします。テスト目的で、ファイルのないフォルダーを別のネットワーク ドライブにコピーし、コピーしたバージョンでコードを実行しました。900 個のフォルダーを反復処理するだけで、おそらく 10 秒かかります。ただし、元のディレクトリ構造を反復処理するには 30 分かかります。900,000 個のファイルすべてを無視しているように見えます。
ファイルを見なくてもこれをスピードアップする方法はありますか? 可能であれば、純粋な Java を使用したいと考えています。この巨大なディレクトリを Windows Explorer でブラウズすると、まったく遅く感じません。私のコードは以下です。
編集:
言及しなかったパズルの重要なピースは、webstart でアプリを実行していることです。私が報告した時間は、開発ではなく、本番環境のものです。Eclipse から実行すると、FileWalker に期待するよりも時間がかかります。
scala - JavaFX Scala File-TreeView: 2 レベルの読み取り
JavaFxで作ったGUIでファイルブラウザをscalaに実装したいです。したがって、私は TreeView を使用してツリーを表します。
このコードは、1 つのアイテムをクリックするたびにツリーから 1 つのレベルのみを読み取りますが (パフォーマンス上の理由)、ツリービューにはインデントが表示されず、空でないフォルダーの矢印が表示されません。
(フォルダーが空かどうかを確認するために) 2 つのレベルを読み上げると、ディレクトリのないファイルのみが表示されます。
それがどのように機能するか考えている人はいますか?
前もって感謝します!
ここに私の現在のツリービューからのスクリーンショットがあります! スクリーンショット
このスクリーンショットのように見えるはずです Screenshot2
node.js - node と gm を使用して何百もの JPG のサイズを変更する
約 100 個のサブフォルダーを含む画像フォルダーがあり、それぞれに約 5 個の JPG があります。
ノードを使用してすべての画像をループし、最小寸法が 1200 になるようにサイズを変更しようとしています。アスペクト比。
私はノードを学んでいるので、プラットフォームについてはよくわかりませんが、JS UI 側にはかなり自信があります。
単一のJPGで機能するnpm walkerモジュール、npm gmモジュールを見つけたので、かなり簡単だと思いましたが、500以上の画像をループする際に問題が発生し、gm()コードがそれを実行することを決定していますループが終了した後、物事がクラッシュしています。
これが私のコードです...
https://runkit.com/nmiddleweek/58d40b478c992a00146502ba
(コードをインライン化しますか?)
これがコンソールエラーです...
これは、約450回の反復後にスローされます...
66行目のコメントを外しています...
66 行目のコメントを外して、処理されるファイルを強制的に 20 に減らすと、別の出力が得られ、gm モジュールが他の console.log で呼び出されます。下記参照...
ここで gm モジュールが実行され、ディスク上のいくつかの JPG のサイズが変更され、縦横比が維持されていることを確認できます。
しかし、奇妙なのは、ログに出てくる順序です...なぜNodeはこのようにバッチでコードを実行しているのでしょうか?
これは同期/非同期の問題ですか? また、どのように変更すれば...
a)。何百もの画像を処理できるようにします b)。画像を処理して、少なくともこの問題を解決して、正しく機能するようにしてください:-)
ヘルプとアイデアをお寄せいただきありがとうございます。
乾杯、ニック
java - 既存のファイルを置き換える FileVisitor
ファイルをあるディレクトリから別のディレクトリに置き換える必要があります。ネットで検索したところ、ファイルを置き換える効率的なソリューションが見つかりました。Files.walkFileTree を使用してディレクトリをトラバースし、ファイルを置き換えています。ファイルを置き換える前に、ターゲット ディレクトリにファイルが存在するかどうかを確認しています。ファイルが存在する場合は、新しいファイルを同じファイル名に置き換える必要があります。ただし、私の場合、ソースディレクトリからのファイル名は同じで、ファイル形式のみが異なります。
私は使っている
上記のコードは、ファイル名と形式が同じ場合にのみ、ファイルをターゲット ディレクトリに置き換えます。それ以外の場合は、新しいファイルと古いファイルをターゲット ディレクトリに配置するのではなく、古いファイルを削除していません。