Eclipseでのファイルの操作

コマンドラインでプログラムを実行するよう指示があります。たとえば、次のようにします。

java SetTest < alice30.txt

Eclipseでこれをどうやって行うのだろうか。私はこれを次のように実行コンフィギュレーションに入れようとしました:

enter image description here

私が知らない別のものは、このファイル(alice30.txt)をどこに置くかです。これはプロジェクトのルートまたはソースファイルがあるsrcフォルダにありますか?

これらは初心者の質問ですが、私は立ち往生しており、助けが必要です。

EDIT: As @Kane suggested I passed File and opened stream. Instead of:

Scanner in = new Scanner(System.in);

私は今使用します:

Scanner in = new Scanner(new File("alice30.txt"));
4
既に2回目の前に議論されています:stackoverflow.com/questions/188547/... and stackoverflow.com/questions/799250/i-o-redirection-in-eclips‌ e
追加された 著者 soulcheck,
追加された 著者 realPK,

4 答え

引数に完全なファイルパスを渡すことができます(例:c:/.../ alice30.txt)。

3
追加された
大丈夫ですが、相対パスでファイルを転送するときにファイルをどこに置くか疑問に思っています。たとえば、alice30.txtと入力するだけです。
追加された 著者 Иван Бишевац,
とにかく完全なファイルパスはかなり悪いスタイルです。つまり、別のコンピュータに全く同じフォルダ構造を持たなければならず、ファイルを移動することは苦労します。相対パスは行く方法です:)
追加された 著者 Kane,

eclipseのルートディレクトリは、プロジェクトのベースディレクトリです(つまり、プロジェクトの直下にあるsrc /ディレクトリではありません)。

一般的に、txt、グラフィックスなどのための 'resources'フォルダを持つのが良いスタイルです。

ストリームを渡そうとするのではなく、単にファイル名を渡して自分自身でストリームを開くことができます。

The reason what you're doing in Eclipse isn't working is because your command prompt/shell/dos/bash/whatever is handling creating the input stream out of the file for you. Eclipse doesn't do this. So, from the command line: < alice.txt means "run this program with no arguments, and create a stream to system.in", while doing that in Eclipse means "run this program with two arguments '<' and 'alice.txt'

2
追加された

次のようにする必要があります: 追加: import java.io.IOException; import java.nio.file.Paths;

次に: 「Scanner in = new Scanner(System.in)」を「Scanner in = new Scanner(Paths.get( "alice30.txt"))」に置き換えます。 。 あなたはまたこれを行う必要があります: "public static void main(String args [])IOException"

1
追加された

With information from this link/page and several tries, I figure out a way to pass argument and file using the local route in eclipse Run -> Run Configurations.. , though it is not recommended as Kane said.

For my case: I need to do " $java someClass tinyW.txt < tinyT.txt " (This is an example from Algorithms book by Robert Sedgewick)

In my case, " tinyW.txt " is a argument, so in the eclipse environment, you can set in Run -> Run Configurations -> Arguments -> Program arguments: /local address/tinyW.txt. For my Ubuntu: /home/****/tinyW.txt enter image description here " < tinyT.txt " is a file that pipe to the main arguments, so you can set the route and file in " Run -> RUn Configurations -> Common ", click the "Input File", use the File System icon and select the file from local compute. See the figure. So in Input File: /local_address/tinyT.txt. My case is: /home/***/tinyT.txt. Hope it also works for you. enter image description here

1
追加された