問題タブ [filevisitor]

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 投票する
2 に答える
1460 参照

java - Java のファイル ツリー システムを使用して、サブディレクトリではなくファイルとフォルダーのみを取得する

したがって、Java ファイル ツリー システムを使用する必要があります。.listfiles ファイルは、何らかの理由でリモート ネットワークを通過するのが非常に遅いからです。ただし、すべての Java ファイル ツリー システムの例では、サブディレクトリ内のすべてのファイルが一覧表示されるため、プログラムが大幅に遅くなります。ディレクトリのみを検索し、サブディレクトリではなくそのディレクトリ内のみのフォルダーとファイルの名前を返すようにするにはどうすればよいですか。

サンプルコード:

洞察や助けをいただければ幸いです。

0 投票する
0 に答える
180 参照

java - Filevisitor の walkfiletree メソッドからの javafx Update メッセージ

ディスク全体をトラバースするために Java 7 Files.walkFileTree メソッドを使用しています。カスタム FileVisitor の visitFile() メソッドから、作成した UI クラスの javafx ラベルとプログレス バーを更新しようとしています。javafx UI クラスで、タスクを作成して開始します。私はいくつかの調査を行い、誰かが FileVisitor を実装してタスクを拡張し、visitFile() から updateMessage() を実行できるようにすることを提案しましたが、それを試してみましたが、うまくいきません。Javafx UI クラス:

FileSystemTraverse クラス:

だから私の質問は - 本当にこれを行う方法はありますか? 私はスイングでこれを行うことについてどこかで読みました(パブリッシュを使用しています)が、javafxでは機能しないようです。

前もって感謝します。

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

java - Java NIO.2 FileVisitor および Files.walkFileTree(...) を使用して、空でないディレクトリを再帰的に移動する

Java NIO.2 を使用してファイルを再帰的にコピーまたは削除する方法の例をたくさん見ました。たとえば、これはフォルダをそのすべての内容とともにコピーする方法です。

しかし、ファイルを含むフォルダーを移動する方法は? 方法がありFiles.move(Path source, Path target, CopyOption... options) throws IOExceptionます。誰かが本当に効果的な例を挙げることができますか?

Files.copy(...)解決策は、で使用しpreVisitDirectory(...)、次にFiles.delete(...)で使用することだと思いpostVisitDirectory(...)ます..

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

java - ディレクトリで順序付けされた Java FileVisitor のアクセス

Java のFileVisitorインターフェイスを使用して、ファイルのリストを確認し、内容をデータベースにインポートしようとしています。シナリオは、csv コンテンツを順番にインポートすることです。Object.csv、Object_updated.csv、Object_deleted.csv という名前のファイルが存在する可能性があり、その内容をデータベースにマージする必要があります。フォルダ階層には次が含まれます。

これは、基本的な解析のために私が思いついたものです:

これにより返されたファイルのリストは次のとおりです。

objectname_updated.csv と objectname_deleted.csv の 2 つのファイルがある場合、objectname_deleted.csv の代わりに objectname_updated.csv を最初にウォークする必要があります。この特定のインスタンスは機能していましたが、ドキュメントによると、ファイル リストが適切であるとは限りません。ファイル名に基づいて順序を取得する方法はありますか? または、事前に並べ替えられたファイル リストを保存する必要がありますか?

0 投票する
0 に答える
58 参照

java - startingDir を使用しない Java PathMatcher および SimpleFileVisitor

この例ではhttp://docs.oracle.com/javase/tutorial/essential/io/find.html

PathMatcher を使用して、訪問したファイルを受け入れる (または受け入れない) ための SimpleFileVisitor 実装があります。

ユーザーが glob パターンを使用して任意の場所に任意のファイルを指定できるようにしたいので、「/」よりも優れた startingDir はありません。

例:

/home/bianca ホーム フォルダ全体のすべてのファイルにアクセスせずに、これらのプロパティ ファイルを取得するエレガントな方法はありますか?

その他の例:

ここでは、よりスマートな実装により、 /aaa/bbb/hhhのようなパスにアクセスする必要がなくなります。これは、その中のファイルが一致しないためです。

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

java - 既存のファイルを置き換える FileVisitor

ファイルをあるディレクトリから別のディレクトリに置き換える必要があります。ネットで検索したところ、ファイルを置き換える効率的なソリューションが見つかりました。Files.walkFileTree を使用してディレクトリをトラバースし、ファイルを置き換えています。ファイルを置き換える前に、ターゲット ディレクトリにファイルが存在するかどうかを確認しています。ファイルが存在する場合は、新しいファイルを同じファイル名に置き換える必要があります。ただし、私の場合、ソースディレクトリからのファイル名は同じで、ファイル形式のみが異なります。

私は使っている

上記のコードは、ファイル名と形式が同じ場合にのみ、ファイルをターゲット ディレクトリに置き換えます。それ以外の場合は、新しいファイルと古いファイルをターゲット ディレクトリに配置するのではなく、古いファイルを削除していません。