問題タブ [jimfs]
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 - 仮想ファイルシステム JIMFS を使用して作成されたファイルの読み取り
JIMFS を使用して VFS を作成しました。
別のメソッドでファイル (refData.csv) を読み取ろうとしています (パスは別のメソッドに渡されます)。
私が今まで試したことは次のとおりです。
残念ながら、現時点ではこれらの機能はありません。了解しました。デフォルト FS と仮想 FS を混在させています。
作成されたファイルにアクセスするには?.
java - JIMFS が ZipFileSystemProvider によって認識されない
バイト配列からjimfs (メモリ内のGoogleファイルシステム)で作成されたzipファイルがあります。でそのファイルを開こうとするとZipMemoryFileSystem
、プロバイダーが認識されないというエラーが表示されます。私のコードは次のとおりです。
URI は次のようなものです: jar:jimfs://bb2c779f-d327-4e2f-9841-bd04785f1365/file.zip
.
スタック トレースは次のとおりです。
jimfs は にリストされていませんFileSystemProvider.installedProviders()
。ZipFileSystemProvider
これは、それぞれThread.currentThread().getContextClassLoader()
対 ClassLoader.getSystemClassLoader().getParent()
forとは別のクラス ローダーにありFileSystemZipProvider
ます。
プロバイダーのプリントは次のとおりです。
jimfs ClassLoaderTestの例に基づいてクラスローダーを手動で設定しようとしましたが、成功しませんでした。Linuxで実行しています。
jimfs 1.1 を使用しました ( 問題31のhttps://github.com/google/jimfs/commit/3299e69f75cf524e6d101d88e8c202c1b24bf25aを修正して 2.0-SNAPSHOT も試しました)。
どうすれば自分のコードを機能させることができますか?
java - JVM のデフォルト ファイル システムの変更
メモリ内ファイル システムで実行しようとしているアプリケーションがありますが、アプリケーションにjava.io
はjava.nio
. これを解決するために JVM のデフォルトのファイル システムを変更する方法はありますか?
java - 構成可能なメモリ内ファイルシステムを備えたJava git-library
ユーザー提供の Java ライブラリはありjava.nio.file.FileSystem
ますか?
私はGoogle jimfs in-memory-filesystemの実装を使用しており、gitリポジトリをファイルシステムに複製し、複雑な一連の操作を実行したいと考えていますが、ディスクには触れません。
残念ながら、jgit-api が選択した FileSystem で動作する可能性を提供しているようには見えません。
編集:
jgit と jimfs の間の非互換性の理由は、jgit の api がファイルを使用し、jimfs が主な抽象化としてパスを使用するという事実にあるようです。残念ながら、jimfs は を実装していませんPath.toFile()
。そのための技術的な理由はありますか?
java - 仮想ファイルシステムを指す Java URI
Java で仮想ファイルシステム (jimfs) への URI を作成する必要があります。これを行う必要があるのは、ファイルを zip アーカイブに追加できるようにするためです (zipfile をファイルシステムとして定義することにより)。以下の URI 変数を仮想ファイルシステムにポイントするにはどうすればよいですか? (または、それがうまくいかない場合は、これを行う別の方法があります)
このコードは、「パス、クエリ、またはフラグメントがない可能性があります」というエラーを生成します。
java - zip の FileSystem を作成するときにプロバイダが見つからないという例外が発生しましたか?
JimFSFileSystem
インスタンスに Zip ファイルを作成しました。FileSystem
Java APIを使用して Zip を読みたいと思います。
を作成する方法は次のFileSystem
とおりです。
ただし、これはエラーをスローします。
java.nio.file.ProviderNotFoundException: プロバイダーが見つかりません
興味深いことに、コードはデフォルトで動作しますFileSystem
。
- このエラーはどういう意味ですか?
- Zip を作成するにはどうすればよい
FileSystem
ですか?