私は、usbデバイスに保存されているファイルを自分のデータベースにインポートする方法に取り組んでいます。 私はすでにMacとWindows用に行っていますが、Linux/UbuntuとJavaの両方でアプリケーションを使用している場合、usbデバイスへのパスを取得する方法はわかりません。 パスを見つける方法はありますか?linux/ubuntuでusbデバイスの絶対パスを取得する方法
答えて
すべてのLinuxシステムで動作する保証はありません。私が使用したいくつかのアプローチがあり、さまざまな程度の成功があります。
外部のユーティリティを必要としない方法が列挙し、/dev/disk
、/proc/mounts
、および/sys/bus/usb
で疑似ファイルを解析し、ストレージを保持するUSBデバイスの表現を構築することです。複数のものがあるかもしれないので、あなたはまだ推測をしなければならないかもしれないし、ユーザーに選択肢を提供しなければならないかもしれません。これはかなり退屈な方法ですが、私はそれが最も一般的だと思います。ほかの誰かが示唆しているように、/media
,/run/media
を見ることができますが、これはLinuxインストールの一部でしか動作しません。その形式の自動マウントが有効な場合のみです。
あまり面倒なアプローチは、プログラムからユーティリティudisksctl
を呼び出すことです。私は、このユーティリティはほぼすべてのLinuxの亜種に存在すると思いますが、デフォルトでは必ずしもインストールされているわけではありません。ユーティリティの出力を解析する必要がありますが、カーネルpsedofilesで直接作業するのは面倒です。
ディスクデバイスのリストを取得するには、udisksctl status
を実行します。これにより、モデル名が表示されます。モデル名には、「USB」という文字列とブロックデバイス(例:/ dev/sdb)が含まれます。その後、udisksctl info -b /dev/sdb
を実行し、 "MountPoints"で始まる行を探します。デバイスがマウントできない場合は、udisksctl mount...
を実行してデバイスを強制してください。 udisksctlができる他の有用な情報がたくさんあります。そのマニュアルページをご覧ください。
Runtime.exec()
を使用してudisksctl
を実行することはできますが、最初にインストールされていることを確認するのはおそらく/usr/bin/udisksctl
です。
- 1. '他の'プロジェクトファイルの相対パスで絶対パスを取得する方法は?
- 2. cakephpシェルで絶対パスのURLを取得する方法
- 3. Symfony2コントローラでファイルの絶対パスを取得する方法は?
- 4. コマンドラインで相対パスから絶対パスを取得する方法
- 5. Perlで絶対パスを取得する
- 6. ファイルアップロード:絶対パスを取得
- 7. HDFSでPathから絶対パスを取得する方法
- 8. アンドロイドアセットへの絶対パスを取得する方法
- 9. luaスクリプトファイルの絶対パスを取得する方法
- 10. javascriptで絶対パスを取得
- 11. 相対パスから絶対パスを取得するC#
- 12. Windows CMD:絶対パスから相対パスを取得する
- 13. コンテンツのファイルの絶対パスを取得
- 14. djangoアプリケーションの絶対パスを取得
- 15. プラグインを使用してeclipseでプロジェクトファイルの絶対パスを取得する方法
- 16. linuxの絶対パスを相対パスに変換する方法
- 17. URLを絶対パスで取得する方法を教えてください。
- 18. createChooserを使用してAndroidでオーディオ絶対パスを取得する方法
- 19. MacでUSBデバイスのUUIDを取得する方法は?
- 20. プロジェクト内の/ resourcesフォルダのファイルへの絶対パスを取得する方法
- 21. Java - プロジェクト内のファイルの正しい絶対パスを取得する方法
- 22. 現在のjavascriptファイル名の絶対パスを取得する方法
- 23. OS Xコマンドラインアプリケーションの絶対パスをプログラムで取得する
- 24. Jenkinsでチェックアウトされたファイルの絶対パスを取得する
- 25. 絶対パスと絶対パスの比較
- 26. Javaでパスが相対パスか絶対パスかをチェックする方法
- 27. アップロードするファイルの絶対パスを取得する
- 28. 相対パスを取得する方法
- 29. boost :: filesystem :: pathで絶対パスを取得する
- 30. autoconf configure.acのトップビルドディレクトリへの絶対パスを取得するには?
'/ media/...'に従ってください。 –
Fedoraシステムは、少なくとも '/ media'に自動マウントしません。すべてのLinuxシステムが同じようにリムーバブルメディアを扱っていると仮定するのは問題です。残念ながら、彼らはしません。 –