2

Javaのtxtファイルについて質問があります

テキスト ファイルを読む必要があるときは、パスを指定する必要があります。

ただし、txtファイルは同じフォルダーにあります。

しなければならないことは...

読み取りオプション ファイル名をテストしています。

testing : クラス名 readoption : ファイルを読み取るためのオプション filename: 同じフォルダのファイル名。

ただし、パスを使用してファイルを指すことはしたくありません。つまり、コードで「C:/Users/myname/Desktop/myfolder/」を使用せずにテキスト ファイルを読みたいということです。

誰もそれを行う方法を知っていますか?

ありがとう。

public class testing{ 



private static boolean debug = true;

    public static void main(String args [])
    {


            if(args.length == 0)
            {// if you do nothing
                            if(debug  == true)
                            {
                                    System.out.println(args);                                      
                            }

                            System.err.println("Error: Missing  Keywords");
                            return;

            }
            else if(args.length == 1)
            {// if you miss key word
                    if(debug  == true)
                    {
                            System.out.println(args);                                      
                    }
                    System.err.println("Error: Missing filename");
                    return;

            }
            else
            {// if it is fine
                String pathes = "C:/Users/myname/Desktop/myfolder/";// dont want to use this part 
                    if(debug  == true)
                    {
                            System.out.println("Everthing is fine");        
                            System.out.println("Keyword :" + args[0]);
                            System.out.println("File name :" + args[1]);
                    }
                    try{
                          // Open the file that is the first 
                          // command line parameter
                          FileInputStream fstream = new FileInputStream(pathes + "bob.txt");
                          // Get the object of DataInputStream
                          DataInputStream in = new DataInputStream(fstream);
                          BufferedReader br = new BufferedReader(new InputStreamReader(in));
                          String strLine;
                          //Read File Line By Line
                          while ((strLine = br.readLine()) != null)   {
                          // Print the content on the console
                          System.out.println (strLine);
                          }
                          //Close the input stream
                          in.close();
                            }catch (Exception e){//Catch exception if any
                          System.err.println("Error: " + e.getMessage());
                          }
                   }


    }
}
4

4 に答える 4

1

この行String pathes = "C:/Users/myname/Desktop/myfolder/";を次のように変更します。

 String pathes = args[1];

そしてこの行FileInputStream fstream = new FileInputStream(pathes + "bob.txt");に:

FileInputStream fstream = new FileInputStream(pathes);
于 2012-09-09T21:57:25.497 に答える
0

テキスト ファイルを Java プロジェクトの「myfolder」に入れる場合、パスは次のようになります。

String pathes = "/myfolder/bob.txt";

FileInputStream fstream = new FileInputStream(pathes);
于 2012-09-09T21:56:34.413 に答える
0

.properties ファイルからファイルのパスをロードする (java.util.Propertiesクラスを使用) か、コマンドラインからパラメーターとして (main String[]引数で) 渡します。

いずれにせよ、ファイルを処理するコードはそれを実行してはならず、外部で実行する必要があります。処理コードは、それを呼び出したメソッドからファイル パスを受け取るため、別のメソッド (vg、GUI) を使用する場合は、変更する必要はありません。

于 2012-09-09T21:57:13.623 に答える
0

「。」を使用できます。実際のパスについては、次のようなシステム依存ファイル区切り記号を追加します。

FileInputStream fstream = new FileInputStream("."+System.getProperty("file.separator")+"bob.txt");
于 2012-09-09T22:03:45.863 に答える