質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.36%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

4861閲覧

java シンボルを見つけられませんと出てしまう。

K.M.PEANUTS

総合スコア40

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2021/11/10 15:13

java

1import java.io.*; 2import java.util.*; 3public class Jfile { 4 //javaファイルを保存する 5 private File jfile; 6 7 //getStringメソッドに使用 8 //条件に合う文を格納するリスト 9 public ArrayList<String> list = new ArrayList<>(); 10 11 Jfile(File f) { 12 this.jfile = f; 13 } 14 15 //ファイル名を返す関数 16 public String getName() { 17 return this.jfile.getName(); 18 } 19 20 //パスを返す関数 21 public String getPath() { 22 return this.jfile.getAbsolutePath(); 23 } 24 25 //ファイルの行数を返す関数 26 public long getLineCount() { 27 return Files.lines(this.jfile.getPath).count(); 28 } 29 30 //ファイルのクラス、パッケージ、importを返す関数 31 public String getString(String search_str) { 32 try { 33 //ファイルの中身を読み込む 34 FileReader fr = new FileReader(this.jfile); 35 BufferdReader br = new BufferedReader(fr); 36 37 //条件に合う行をリストに格納 38 String line; 39 while((line = br.readLine()) != null) { 40 Pattern p = Pattern.compile(search_str); 41 Matcher m = p.matcher(line); 42 43 if(m.find()) { 44 add.list(line); 45 } 46 } 47 48 br.close(); 49 fr.close(); 50 } catch(IOException ex) { 51 se.printStackTrace(); 52 } 53 54 //リストの中身を一つの文にする。 55 String rt_line; 56 57 while(list.size() != 0) { 58 rt_line += list.get(0) + " ,"; 59 list.remove(0); 60 } 61 62 return rt_line; 63 } 64} 65

エラーメッセージ
Jfile.java:27: エラー: シンボルを見つけられません
return Files.lines(this.jfile.getPath).count();
^
シンボル: 変数 getPath
場所: タイプFileの変数 jfile
Jfile.java:27: エラー: シンボルを見つけられません
return Files.lines(this.jfile.getPath).count();
^
シンボル: 変数 Files
場所: クラス Jfile
Jfile.java:35: エラー: シンボルを見つけられません
BufferdReader br = new BufferedReader(fr);
^
シンボル: クラス BufferdReader
場所: クラス Jfile
Jfile.java:40: エラー: シンボルを見つけられません
Pattern p = Pattern.compile(search_str);
^
シンボル: クラス Pattern
場所: クラス Jfile
Jfile.java:40: エラー: シンボルを見つけられません
Pattern p = Pattern.compile(search_str);
^
シンボル: 変数 Pattern
場所: クラス Jfile
Jfile.java:41: エラー: シンボルを見つけられません
Matcher m = p.matcher(line);
^
シンボル: クラス Matcher
場所: クラス Jfile
Jfile.java:44: エラー: シンボルを見つけられません
add.list(line);
^
シンボル: 変数 add
場所: クラス Jfile
Jfile.java:51: エラー: シンボルを見つけられません
se.printStackTrace();
^
シンボル: 変数 se
場所: クラス Jfile
エラー8個

試したこと

ネットで調べたところ、これらのエラーは通常先頭に書いてあるimport文の不足によるものだとされる。しかし今回は該当のimport文を書いてもエラーが消えませんでした。

どうすれば良いのか教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

swordone

2021/11/10 15:37

「該当のimport文」とは、何を書いたのですか?
K.M.PEANUTS

2021/11/10 16:13

ソースコードに書いている import java.io.*; import java.util.*; の2文です。
jimbe

2021/11/10 16:37 編集

jfile フィールドは File で、File には getPath という "フィールド" はありません。もしや getPath() メソッドではないでしょうか?
guest

回答1

0

ベストアンサー

  • 最初の2個のFilesクラスはjava.ioパッケージではなくjava.nioパッケージであり、

PatternクラスMatcherクラスはjava.utilパッケージではなくjava.util.regexパッケージであって、
いずれもimport宣言がなされていません。
(java.ioパッケージもjava.utilパッケージも別の個所で使用しているので、消す必要は無い。この2個のパッケージの宣言を追加する)

  • BufferdReaderはBufferedReaderと、eが1個足りません。
  • 最後2個は、addやseという変数が存在しません。

それぞれlist.add(line)ex.printStackTrace()ではないでしょうか?

投稿2021/11/10 16:52

編集2021/11/10 16:55
swordone

総合スコア20669

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K.M.PEANUTS

2021/11/15 14:29

すべて解決されましたありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問