2016-09-01 40 views
5

私は最近のJavaの新版です。私は最近インタビューを受けました。彼らは、Groovyをセットアップし、サンプルのjsonファイルが有効かどうかをテストするような質問をしました。有効な場合は、jsonファイルを実行します。そうでない場合は、「File is not valid」と印刷してください。ファイルが見つからない場合は、「ファイルが見つかりません」と印刷します。私はそれを行うために2時間の時間を与えられた、私はインターネットを使用することができます。Groovyファイルチェック

groovyやjsonが何であるかわからなかったので、私はそれを探してグルーヴィーをセットアップしましたが、2時間で出力が得られませんでした。私は何を書かなければならないのですか?私はいくつかのコードを試しましたが、間違っていると確信しています。

答えて

7

file.exists()を使用して、ファイルシステムにファイルが存在するかどうかを確認し、file.readable()を調べて、アプリケーションがファイルを読み取ることができるかどうかを確認できます。 JSONが無効である場合、そのファイルとキャッチJSONExceptionを解析するJSONSlurperを使用します。

import groovy.json.* 

def filePath = "/tmp/file.json" 

def file = new File(filePath) 

assert file.exists() : "file not found" 
assert file.canRead() : "file cannot be read" 

def jsonSlurper = new JsonSlurper() 
def object 

try { 
    object = jsonSlurper.parse(file) 
} catch (JsonException e) { 
    println "File is not valid" 
    throw e 
} 

println object 

、コマンドラインからファイルパス引数を渡す

assert args.size == 1 : "missing file to parse" 
def filePath = args[0] 

def filePath = "/tmp/file.json"を交換し、コマンドラインで実行するにはgroovy parse.groovy /tmp/file.json