Runtime.exec() を使用して Java から rsync を呼び出し、隠しファイル/フォルダーを無視したい。コマンドはシンプルで、コマンド ラインで魅力的に機能します。
rsync -r --exclude=".*" source destination
これらの引数を正しく分解して String[] として exec() に渡すために、非常に多くの異なる組み合わせを試しました。私は失敗し、正気を失いかけているかもしれません。
私が試したことのいくつかの例
String[]{ "rsync", "-r", "--exclude", "=", ".*", source, destination});
String[]{ "rsync", "-r", "--exclude", "=", "\".*\"", source, destination});
String[]{ "rsync", "-r", "--exclude=\".*\"", source, destination});
ほとんどの場合、終了 23 (「エラーによる部分転送」) で終了します。転送は完了しますが、隠しファイル/フォルダーが含まれます。