- ベストアンサー
初心者です。splitメソッドで、NoSuchMethodErrorが出ます。
こんにちは。 Javaの初心者です。 csvファイルから1行ずつ読み込み、それをsplitで配列に入れて 特定の文字を出力する、といったことをしたいと思っています。 ソースは以下のとおりです。 import java.lang.*; import java.io.*; public class TestJava { public static void main(String[] args) { try { BufferedReader br = new BufferedReader (new FileReader("in.csv")); BufferedWriter bw = new BufferedWriter(new FileWriter("out.csv")); String line = null; while ((line = br.readLine()) != null) { String[] inArray = line.split(","); String s = inArray[0].substring(2, 3); System.out.println (s); bw.write(line); bw.newLine(); } bw.flush(); br.close(); bw.close(); } catch (IOException e) { e.printStackTrace (); System.exit(-1); } } } コンパイルは通るのですが、実行すると、 C:\java\src>java TestJava Exception in thread "main" java.lang.NoSuchMethodError at TestJava.main(TestJava.java:19) というエラーが出てしまいます。 (19行目は、String[] inArray = line.split(",");の部分です) ネットで調べてみると、mainメソッドの書き方が間違っているのでは、 とあったので、何度も注意深く見てみたのですが mainメソッドに間違いはないように思えます。 また、クラスパスが通ってないのでは、ともあったのですが、 環境変数のclasspathに「C:\java\src」を設定しています。 どなたか分かる方いらっしゃいましたら、 ご教授いただけませんでしょうか? よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- kztk
- ベストアンサー率53% (59/110)
- sakusaker7
- ベストアンサー率62% (800/1280)
- sakusaker7
- ベストアンサー率62% (800/1280)
お礼
回答ありがとうございます。 動作確認までしていただき、ありがとうございます。 java -versionを実行したところ、 C:\java\src>java -version java version "1.3.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01) Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode) と出てきました。 PATHの順序を見直して(一番最初に持って来ました)みたところ、 やはり同様のエラーが出たのですが、 javaコマンドをフルパスで指定したら、正常に動作しました。 すみません。 フルパスで指定したら動作する理由がよく分からないのですが、 binフォルダへのパスが通ってないのでしょうか? よろしくお願いいたします。