intellijがどのようにgradleプロジェクトとresourcesフォルダーを処理しているかを理解するのに問題があります。ファイルを作成するためのintellij、gradleプロジェクトとresourcesフォルダーと論理ルート
私は、デフォルトのGradleのプロジェクトは、そのモジュールの「グループ」、および
src/main/resourcesフォルダは、「リソースフォルダ」として示したモジュール群で探してモジュールを作成した(しかし、それはdoesntの作成しましたグルーヴィー/ Javaの/リソースはすべて灰色でスタンドアロンモジュール、)
になるように並べ替えて、一般的に、コードをコンパイルするときに動作するようです。
しかし私はあなたを実行し、この
File newFile = new File ("resources/temp.txt")
def fpath = newFile.toURL()
if (!newFile.exists()) {
println "creating new $fpath file "
newFile.createNewFile()
}
のようなグルーヴィーなスクリプトでファイルを作成するために、しかししようとしたファイルは、相対的なルートを持っているように見えるこの
creating new file:/D:/Intellij - Azure/quickstart-java/graph/src/main/groovy/playpen/resources/temp.txt file
Caught: java.io.IOException: The system cannot find the path specified
java.io.IOException: The system cannot find the path specified
at java_io_File$createNewFile$1.call(Unknown Source)
at playpen.TinkerPop-Example.run(TinkerPop-Example.groovy:47)
のようなビットでそれが失敗し、これを実行し.../src/main/groovy/playpen
ました私のスクリプトはどこにありますか? src/main/groovy/playpen/resources/
なので、失敗する
File("/resources/temp.txt") and look at the URL it shows as
D:\ resources \ temp.txtは、スクリプトが定義されている場所と同じドライブにデフォルトで使用されます。
リソースプレフィックスを削除した場合 - ファイルがplaypenで作成されます - 再びルートはソースプログラムスクリプトと同じです。
私がしたいのは、 'resources'フォルダからファイルを読むことですが、絶対ファイルパスに移動しない限り、 'resources'フォルダは無視され、groovyソースフォルダだけが表示されます。
ので、たとえば、私はresources
フォルダにTEMP.TXTをコピーして、それだけでスクリプトが実行され、表示されませんベビーサークルパッケージの新しいTEMP.TXTを作成し、この
File newFile = new File ("temp.txt")
def fpath = newFile.toURL()
if (!newFile.exists()) {
println "creating new $fpath file "
newFile.createNewFile()
} else {
println "reading file at $fpath"
}
を実行する場合「リソース」フォルダ
からコピーので、「ファイル名」のどのような形式のリソース」フォルダが自然にファイル名を解決するために使用されるように、私は使用しない - したい場合も同様に絶対ファイル名に
を使用することなく、 File programaticalを作成するそれを保存し、その場所をスクリプトの実行場所である 'resources'フォルダに保存します。
私はここで何か基本的なものを見当たりませんし、読み書き方法を理解していませんリソースフォルダ。
誰かが、彼らはsrc/main/resources
ディレクトリIDが