ページ 11

eclipseで質問があります

Posted: 2012年11月27日(火) 17:33
by あゆ
現在参考書を見ながらeclipseでJavaを学習しているのですが、コマンドライン引数のことでわからないことがあります。

参考書はコマンドプロンプト上で「C:¥User・・・・」とやっています、コマンドライン引数を使って実行するやり方も書いてありますが、eclipseのはわかりません・・

とりあえずten.txtというテキストファイルを作成し色々書きました。
例として、

I am Happy!
I have an Apple
1235
プログラミング

と書いたとします。(型に関してエラーがでてしまうとかいうのは今回は後回しにして、どうやって実行するのかを最優先に教えてください)

そして、コード

コード:

package main;

import java.io.*;

class main
{
	public static void main(String[] args)
	{
		if(args.length != 1)
		{
			System.out.println("正しくファイルを指定してください");
			System.exit(1);
		}
		
		try
		{
			BufferedReader br = new BufferedReader(new FileReader(args[0]));
			
			String str;
			if((str = br.readLine()) != null)
				System.out.println(str);
			
			br.close();
		}
		
		catch( IOException e )
		{
			System.out.println("エラーです!");
		}
		
	}
}
としたのですが、実行結果は「正しくファイルを指定してください」とでます。

当たり前なのはわかっているのですが・・・

どうやって実行し、ファイルに書いた文字を出力できるようにするのでしょうか?

また、上記の質問にの付け足しとしてエラーしてしまうか教えてください!!

Re: eclipseで質問があります

Posted: 2012年11月27日(火) 20:50
by dic
Eclipse 起動しようとしたんですが、私のマシンではスペックオーバーで
起動に10分かかるので、私の使っているエディタはどうでしょうか?
CPad
http://hp.vector.co.jp/authors/VA017148/pages/cpad.html

コマンドラインと、文章程度理解されていれば使えると思います

Re: eclipseで質問があります

Posted: 2012年11月27日(火) 20:57
by たかぎ
JavaよりEclipseより先に、自分で調べるということを学習しましょう。
https://www.google.co.jp/search?hl=ja&q ... lr=lang_ja

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 01:16
by mi_l
私も聞きたいです!!たかぎさんの回答は質問からずれているとおもうのですが・・

私もわからないので偉そうなことは言えませんが、あなたの回答にご丁寧におせてあるページへいきましてしらべてみたところ、変数に300、500などと具体的な数字を入れてあるのばかりでした・・・

質問にあるようにおそらくあゆさんは、結構長い文章をテキストファイルに描いて、それをコンソール上に出力する方法を知りたいのだと思います!

おそらくあのスペース(調べるのに使ったサイトに書いてあったところ)の長文を書くことは出来るかもしれませんがやりにくいこと極まりないでしょう。。。

私も調べましたがコマンドプロンプト上では「(ここでは)c:Y・・・・・・・・・java main ten.txt」とやる(実行の仕方)みたいですね・・

この結果をeclipseでやるにはどうすればいいのかを知りたいのではないでしょうか?

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 01:31
by トントン
mi_l さんが書きました:私も聞きたいです!!たかぎさんの回答は質問からずれているとおもうのですが・・

私もわからないので偉そうなことは言えませんが、あなたの回答にご丁寧におせてあるページへいきましてしらべてみたところ、変数に300、500などと具体的な数字を入れてあるのばかりでした・・・

質問にあるようにおそらくあゆさんは、結構長い文章をテキストファイルに描いて、それをコンソール上に出力する方法を知りたいのだと思います!

おそらくあのスペース(調べるのに使ったサイトに書いてあったところ)の長文を書くことは出来るかもしれませんがやりにくいこと極まりないでしょう。。。

私も調べましたがコマンドプロンプト上では「(ここでは)c:Y・・・・・・・・・java main ten.txt」とやる(実行の仕方)みたいですね・・

この結果をeclipseでやるにはどうすればいいのかを知りたいのではないでしょうか?
Javaもeclipseも、よくわかりませんが
たかぎさんの言っていることは間違っていないのかなぁと思います。
(実際に実行してみないとわかりませんけど)

>変数に300、500などと具体的な数字を入れてあるのばかりでした・・・
300、500などと具体的な数字の「文字列」を渡せるのであれば
ファイル名だって渡せる気がします。

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 01:40
by YuO
mi_l さんが書きました:たかぎさんの回答は質問からずれているとおもうのですが・・
直球ど真ん中の回答だと思いますが。
mi_l さんが書きました:私もわからないので偉そうなことは言えませんが、あなたの回答にご丁寧におせてあるページへいきましてしらべてみたところ、変数に300、500などと具体的な数字を入れてあるのばかりでした・・・
で?「コマンドラインへの値の与え方」は同じですよね。
最初に出てくるEclipseでコマンドライン引数を与えて実行する方法 | 学習B5デスノート,実際にEclipse (4.2.1 + Pleiades 1.3.5, Win64) での操作がそのまま書いてありますよ。
# デバッグ実行の場合は「実行構成」が「デバッグの構成」になる程度
mi_l さんが書きました:質問にあるようにおそらくあゆさんは、結構長い文章をテキストファイルに描いて、それをコンソール上に出力する方法を知りたいのだと思います!
コードを見る限り違います。
  • ファイル名を第一引数に与えるプログラムを作った
  • eclipseでそのまま実行したら,args.length == 0なので(これは当然)プログラム中で用意したエラー表示が出た
  • eclipseでコマンドライン引数を与える方法が知りたい
と私は解釈しましたが。

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 01:45
by mi_l
私もコピペさせてもらってやりました(一応すべてアルファベットで)ができませんでした・・・

しかし、出力されるエラーは「ファイルを・・・」のほうでなくcatchのほうでしたので・・・一応はできるということなのでしょうか?

私はあゆさんとおなじで質問している立場ですので・・・わかりませんが・・・

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 02:11
by YuO
mi_l さんが書きました:しかし、出力されるエラーは「ファイルを・・・」のほうでなくcatchのほうでしたので・・・一応はできるということなのでしょうか?
であれば,引数は与えることが出来ているわけです。
e.getLocalizedMessage()を調べる等,ちゃんと「デバッグ」をすべきでしょうね。

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 16:18
by non
私もコピペして動かしましたが、正常に動作しました。何も問題なし。

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 17:15
by mi-sya
non さんが書きました:私もコピペして動かしましたが、正常に動作しました。何も問題なし。
私もこの記事気になってました・・・

普通にユアさんのコードをコピペして実行構成の引数の所で作った●●.txtと打てば出来ましたか?

Re: eclipseで質問があります

Posted: 2012年11月28日(水) 20:13
by beatle
●●.txtを何処に保存したかが重要だと思います。
きっと、プログラムと違うディレクトリに保存したせいで、単にファイル名だけを指定して開けない、という理由だと推測しました。