2016-06-27 13 views
1

私はtxtファイルを作成するボタンを作ったが、ここではすべてうまくいきます。ファイルに動的な名前を追加

しかし、問題は最初にTXTファイルを作成したときに、私が必要としていること、または私が何をする必要があるのか​​わからなくて、TXTファイルを動的に作成し続けることです。

int c; 
c = 0; 
c++; 
String Name = "TXT" + c +".txt"; 
File TXT = new File(Name); 
TXT.createNewFile(); 

これは、作成します:

は、ここに私のコードですエトセトラTXT2.txt、TXT3.txtを作成TXT1.txt でもありません。

動的に番号を増やしたいと思います。読んでいただきありがとうございます。

+0

あなたの現在のコードは常に 'c = 0 'で始まるので、TXT2.txtを作成するコードを表示できますか? –

+0

初めてカウントを試みますが、1は動作しません。だから、私は数を0にする:0だけテストする。 –

+1

次回は、1と2などのようにカウントを開始する必要があります。ループを使用した場合、必要な処理が実行されます。 –

答えて

0

1):あなたがメソッドの内部で、あなたのオブジェクトを宣言した場合

、それだけで この方法で表示されます。基本的に、角かっこを囲むと、これらの括弧内には しか表示されません。

メソッドの外側(クラス内)にオブジェクトを宣言する場合は、 はアクセス修飾子に依存します。デフォルトでは、そのクラスとパッケージ全体から可視/アクセス可能な です。

2)静的

静的手段、このオブジェクト/変数はクラス自体、そのオブジェクトへの とされていないに属していることを

source

は、ボタンのクリックをシミュレートするために、私が作っこの小さなコード:

package main.application; 

import java.io.File; 
import java.io.IOException; 

public class Main { 

    private static int incrementFileName = 1; 
    private static final String PATH = "C:\\Users\\user\\Desktop\\"; 

    public static void main(String[] args) throws IOException { 

     //Each time the button is pressed. 
     for (int c = 0; c < 5; c++) 
     { 
      incrementFileName++; 
      buttonClicked(); 
     } 
    } 

    private static void buttonClicked() throws IOException 
    { 
     String Name = "TXT" + incrementFileName +".txt"; 
     File TXT = new File(PATH + Name); 
     TXT.createNewFile(); 
    } 
} 

ご覧のとおり、 new Fileを作成するメソッドの外側にincrementFileName(ご使用のc)を宣言し、ボタンを押すたびにその値を増やす必要があります。

+0

ありがとうございました。あなたの時間と助けに感謝します。 –

2

ためのループでそれをラップし、このようにカウンターを除外する:これはあなたのメソッド内のコードの場合は、常に0で開始しますCとあなたの場合は1

にインクリメント

for(int i = 1; i < yourMaximumRun; ++i) 
{ 

    String Name = "TXT" + i +".txt"; 
    File TXT = new File(Name); 
    try 
    { 
     TXT.createNewFile(); 
    } 
} 
+0

forループを使用する場合は、ループからintを使用してインクリメントします。 – Igoranze

+0

True、変更しました –

1

をもう一度ボタンを押すと、cは0で開始され、インクリメントされます。毎回それを再初期化するのではなく、メソッドの外側のどこかにあなたのcを保持する必要があります。外側対内側

関連する問題