2012-03-05 6 views
3

私は次のコードで新しいファイル名にファイルStandardQuestions.csvをコピーしようとしています:NoSuchMethodErrorクラスファイルのメソッドtoPath()のための

String standardQuestions = "StandardQuestions.csv"; 
if(new File(standardQuestions).exists()){ 
    try{ 
     Path source = new File(standardQuestions).toPath(); 
     Path dest = new File(filename).toPath(); 
     Files.copy(source,dest); 
    } 
    catch(java.io.IOException e){JOptionPane.showMessageDialog(this,"Error: Input/Output exception.");} 
} 

私はラインPath source = new File(standardQuestions).toPath();私のエラーメッセージにスローされたエラーを取得しますNoSuchMethodError、メソッドtoPathがクラスFileに見つかりません。 Fileクラスはどのようにこのメソッドを持たないでしょうか?プログラムは3-4台のマシンで正常に動作しますが、1人のユーザーにとっては常にこのエラーが発生します。これを引き起こす原因は何ですか?この質問に答えるために必要な追加情報はありますか?

答えて

6

PathtoPath()はJavaライブラリ(Java 7で追加されました)に比較的最近追加されたものですから、マシン間で同じバージョンのJavaを使用していることを確認したいと思います。

+0

ユーザーはJava 7をインストールする必要がありますか?まだJava.comでリリースされていないのですが、それらをOracleダウンロードに導くべきですか? – user984165

+0

@ user984165:はい。私が知る限り、これらのメソッドはJava 7を必要とします。 – NPE

+0

ユーザーはJava 7をインストールしましたが、問題は修正されました! – user984165

2

最初に起こるのは、1人のユーザーが大幅に異なるバージョンのJavaを実行していることです。これは特に古くても非標準的でもあります(GNU Classpath)。

あなたのJavaインストールバージョンをアップグレードしてもらいますか?

関連する問題