問題タブ [directory-walk]
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.
hadoop - Hadoop MapReduce は、ネストされたディレクトリをジョブ入力として提供します
複数のレベルのファイルを含む、ネストされたディレクトリ構造を処理するジョブに取り組んでいます。
入力パスとして追加するone/
と、ルート レベルですぐに使用できるファイルがないため、ファイルは処理されません。
について読みましjob.addInputPathRecursively(..)
たが、これは最近のリリースでは非推奨になっているようです (私は Hadoop 1.0.2 を使用しています)。フォルダーをウォークスルーし、各ディレクトリを で追加するコードをいくつか書きました。これは、何らかの理由でディレクトリjob.addInputPath(dir)
を入力ファイルとして処理しようとしたときにジョブがクラッシュするまで機能しましfs.open(split.getPath())
た。 .split.getPath()
LineRecordReader.java
ネストされたディレクトリ構造を持つジョブを提供するためのより簡単な方法が必要であると自分自身に納得させようとしています。何か案は?
編集- どうやらこれには未解決のバグがあります。
c - Java NIO Files.walkFileTreeビジターをCに移植し、スレッドセーフを維持します
java.nio.file.Files.walkFileTree
インターフェイスで使用する既存のJavaコードがいくつかありFileVisitor
ますが、プレーンCに移植する必要があります。このインターフェイスに相当するCはありますか?そうでない場合、どのプリミティブを使用してビルドできますか?
Unixftw
とnftw
関数を見てきましたが、コールバック関数にはユーザー変数を提供するためのパラメーターがないため、それらが機能するようには見えません(単一のvoid *パラメーターがあれば良かったでしょう)。私のコードはスレッドセーフである必要があります。
java - ClassLoaderを使用してクラスを再帰的にロードする場合のNoClassDefFoundError
指定されたフォルダーから移動し、フォルダー内のすべてのファイルと後続のサブフォルダーFileWalker
を検索するためにを使用しているので、リフレクションを使用してそれらをロードし、クラスで宣言されたフィールドとメソッドを取得できます。.class
ClassLoader
これはほとんどのファイルで完全に機能し.class
ますが、クラスを読み込もうとすると時々取得しNoClassDefFoundError
、ファイルの場所に関係していると思います。問題を説明するために例を使用します。
以下のディレクトリ構造がある場合:
FileWalker
の開始ディレクトリを指定するとD:\Users\Ste\.....\Project Tests\File Reader
、ファイルが正常に検出され、。.class
を使用してロードされますClassLoader
。
ただし、次のように自分のフォルダsrc
とbin
フォルダにサブフォルダを追加すると、次のようになります。
プログラムを読み込もうとすると、TestClass.class
このエラーが発生します
私はこれを他の多くのディレクトリでテストしましたが、同じ問題が発生します。.class
ファイルがサブフォルダにあることが原因のようですが、理由はわかりません。
ファイルシステムをウォークし、.class
見つかったファイルをロードするための私のコードは次のとおりです。
ruby - ディレクトリ到達時のディレクトリウォーク呼び出しメソッド
特定のファイルのディレクトリとサブディレクトリを検索するスクリプトを作成しようとしています。特定のディレクトリまたはディレクトリがメソッドを呼び出す方法を知りたいです。
これは私が試して失敗したものです:
これが私がしたいことです。
java - List を返す Java ライブラリglob または Ant のようなパターン "*foo/**/*.txt" の場合は?
指定された Ant のようなパターンに一致するファイルのリストを提供するメソッドを提供するライブラリを探しています。
*foo/**/*.txt
私が得るために
など。DirWalker と
、しかし、私はいくつかの管理されたlibをむしろ望んでいます。Commons IO にはそれがあると思っていましたが、ありませんでした。
更新: Ant のコードを再利用することに満足していますが、Ant 全体よりも小さいものを好むでしょう。
c - 絶対パスの代わりに chdir() を使用したディレクトリ トラバーサル
ファイルとディレクトリを扱っている本の「Unix 環境での高度なプログラミング」の第 4 章には、ftw
コマンドのようにファイル階層をたどることを目的としたコード サンプルがあります。絶対ファイル パスへのポインターと、コールバックを伴う再帰関数を使用して、プロセス内のopendir()
およびへの呼び出しを使用してディレクトリをトラバースreaddir()
します。
chdir()
同じタスクを実行し、2 つのプログラムの時間を比較するために、絶対パスを使用する代わりにファイル名を使用するよう読者に求める演習があります。を使用してプログラムを作成chdir()
しましたが、時間の違いに気づきませんでした。これは期待されていますか?への追加の呼び出しがchdir()
オーバーヘッドを追加すると考えていたでしょう。それはおそらく比較的些細な呼び出しですか?任意の洞察をいただければ幸いです。
絶対パスを使用した再帰関数は次のとおりです。
そして、ここに私の変更を加えた関数があります:
python - ウォーク ndb ディレクトリ構造
Google App Engine NDB にはディレクトリ構造があるため、この構造をたどって各エンティティの深さ優先走査を実行する最善の方法は何ですか。ndb と Python プログラミング言語を使用して、エンティティをこの順序でトラバースしたいと考えています。
java - ツリー内のすべてのリーフのパス全体を表示する
簡単な Tree と Node クラスを自分で作成しました (派手すぎず、多くのことを行う必要はありません)。次のレベルのノードの可変数があります。それらには ArrayList を使用しています。想定どおりに動作しますが、唯一の問題は toString() メソッドです。例: たくさんの数字で設定しました。
- 0 はルートです
- 0 には子 1、2、3 があります
- 2 には子 2.4 と 2.5 があります
今、ツリーを印刷すると、これが得られます: (スラッシュはそこにあるはずです)
- /0/1
- /2/2.5
- /2.4
- /3
しかし、私が欲しいのはこれです:
- /0/1
- /0/2/2.5
- /0/2/2.4
- /0/3
これは私の toString() です:
毎回ルートから歩くために何を変更する必要があるか誰か教えてください。ありがとう!
python - Python では、アンダースコアまたは 6 文字を超える長さで始まるフォルダーを除外します
アンダースコア (_) で始まるフォルダーまたは 6 文字を超えるフォルダーを除くすべてのフォルダー名を保存したい.リストを取得するには、このコードを使用します
目的の出力を得るには、どのような変更を加える必要がありますか。