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

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

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

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

Q&A

解決済

2回答

1070閲覧

ファイルは作成しているのに、なぜかエラーが出る

sk7

総合スコア18

Java

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

0グッド

0クリップ

投稿2020/04/22 04:56

TryCatchを使用したコードに関して質問します。
テキストを参照しながら進めているのですが、理解できませんので、お知恵お貸しください。

以下、コードを実施するとエラーが二つはかれます。
コードは、「ex10_4_TryCatchError.java」、「File.java」、「FileWriter」があります。

これはなにがわるいのでしょうか?
「File.java」、「FileWriter」の内容のが適してないのでしょうか?

また「import」に関してもあまり理解ができていないので、ご教示いただけますと幸いです。

import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; public class ex10_4_TryCatchError{ public static void main(String[] args) { File file = new File("File.txt"); try{ file.creatNewFile(); FileWriter writer = new FileWriter(file); writer.writer("test"); } catch(FileNotFoundException e){ // do something } catch(IOException e){ // do something } System.out.println("finish"); } }

File

public class File{ public void creatNewFile(){ System.out.println("a"); } }

FileWriter

public class FileWriter{ public void Writer(String word){ System.out.println(word); } }

出力されたエラー

ex10_4_TryCatchError.java:10: エラー: シンボルを見つけられません file.creatNewFile(); ^ シンボル: メソッド creatNewFile() 場所: タイプFileの変数 file ex10_4_TryCatchError.java:12: エラー: シンボルを見つけられません writer.writer("test"); ^ シンボル: メソッド writer(String) 場所: タイプFileWriterの変数 writer エラー2個

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

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

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

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

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

Zuishin

2020/04/22 05:07

> ex10_4_TryCatchError.java:10: > file.creatNewFile この行です。
sk7

2020/04/22 05:11

解答ありがとうございます。 その行が原因なのはわかっておりますが、その内容のなにが悪いのか理解できないので 質問させていただいてます。
q_sane_q

2020/04/22 05:15

これ一体どこの何のテキストなんでしょう そのテキストってFileクラス、FileWriterクラスを作るよう書いてありました?
sk7

2020/04/22 05:21

これ一体どこの何のテキストなんでしょう →2週間でJavaがの基礎が学べるってやつです そのテキストってFileクラス、FileWriterクラスを作るよう書いてありました? →いえ、ありませんでした。しかしFile型、FileWriter型で定義してあるように見えるので  てっきりクラスを作成するのではないかとおもいました。
Zuishin

2020/04/22 05:27

> import java.io.File; これは、他のパッケージで定義されている java.io.File クラスを File というキーワードで使えるようにしたいときに使います。つまり、このコードの中で使われている File クラスは、あなたが作ったクラスではなく、java.io.File クラスのことです。このクラスには creatNewFile というメソッドはありません。 まず creat という略し方はしないと思います。
sk7

2020/04/22 05:31

理解しました。またcreatの最後に「e」がぬけていました、
guest

回答2

0

import
というのは他パッケージ階層にあるクラスを使用するときのものです
java.io
はjavaが持っているものなのでFileやFileWriterを自作する必要はないです。

というわけで ex10_4_TryCatchError ではそのjavaのFileやFileWriterを使っているのですが

file.creatNewFile()はcreateNewFileの誤字
writer.writerはwriter.writeの誤字

と思います。

投稿2020/04/22 05:34

q_sane_q

総合スコア610

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

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

q_sane_q

2020/04/22 05:38

あ、追記 このソースこれだけだとFileWriterが閉じられていないので writer.close() か 途中でwriter.flush() しないとファイルへの書き込みが行われないかも
guest

0

自己解決

余計なClassを作成していたことは、エラー関係なかった。
またエラーの原因は、スペルミスであったので、
自己解決とさせていただきます。
お手数をおかけしました。

投稿2020/04/22 05:34

sk7

総合スコア18

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

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

Zuishin

2020/04/22 05:36

スペルミスを自分で発見できるよう、Eclipse を使ってください。
jimbe

2020/04/22 07:45

「スペルミスは自己解決」ということは無いと思いますけど^^;
Zuishin

2020/04/22 08:06

自分で発見できたなら自己解決でしょうが、 > > file.creatNewFile ここまで限定して書いても気づかず、 > まず creat という略し方はしないと思います。 これでようやく気づいたので、自己解決というのは変なのは変ですね。もうこれ答えじゃないっていう。 ただ、私は最初から自己解決させるつもりでヒントを出してたので、それで問題なく終わるはずだったんです。 シュールな感じになってるのは、q_sane_q さんの回答があるからですね。 ただ、これはほぼ同時の回答なので、解決の参考にはなっていないと思いますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問