2011-02-21 13 views
2

だから基本的に私は単に設定と呼ばれるファイルを持っていますが、拡張子はありませんが、名前が変更されたテキストファイルのデータが入っています。 これをjavaのfile()メソッドにロードするにはどうすればよいですか? 単にディレクトリとファイルを使用すると、javaはファイルではなく単なるディレクトリと考えるようです。Javaで拡張子のないファイルから読み込む方法は?

おかげ

+0

あなたがやっていることを私たちに示すためのサンプルコードを投稿できますか? – akf

+0

よく私は持っていると言うことができます: String s = System.getProperty( "user.home")+ "\\ Application Data \\ settings"; だから、私たちはアプリケーションデータフォルダのファイル設定を見ていますが、次のようにしてください: file = new File(s); これを読み取ろうとすると機能しません。 – exclu

+2

ファイルに拡張子がないことを確認してください。いくつかのオペレーティングシステムはそれらを隠すことが知られています。 – josefx

答えて

4

を行う必要があり、ファイルがある場合に違いはありませんエクステンションかどうか。

拡張子を使用してファイルの適切なアイコンを表示したり、ダブルクリックなどで選択した場合はファイルを起動するアプリケーションを選択したりすることができます方法。

ファイルシステムにはタイプされたノードしかありません。 "peter"や "peter.txt"のようなファイルノードがあり、 "peter"と "peter.txt"という名前のフォルダノードがあります。

結論として、Javaでは、拡張に関するファイル処理の違いはありません。

+0

ありがとう、私はそれがなぜ仕事をしなかったのか分かりません、私はいくつかのものを変更し、今、すべてのおかげで動作します! – exclu

1

new File("settings")は正常に動作する必要があります。 Javaでは、拡張子の有無にかかわらず、ファイルの扱いが異なります。

1

Javaはファイル拡張子を認識せず、ファイルの拡張子や拡張子に基づいて別のファイルを扱いません。 JavaがFileをディレクトリと考えると、それはディレクトリです。私はこれが起こっているのではないと思う。あなたは試みることができますか?

File file = new File(filename); 
System.out.println('\'' + filename + "'.isDirectory() is "+file.isDirectory()); 
System.out.println('\'' +filename + "'.isFile() is "+file.isFile()); 

はところで:UNIXでは、ファイルfile.FILEに異なっているfileに異なっています。 Windows/MS-DOS上のAFAIKは同じものとして扱われます。

0

拡張は違いをもたらすべきではありません。あなたが使用しているコードを私たちに投稿できますか?そして、エラーメッセージをお願いします(スタックトレース)。これらの線に沿って

何かが(http://www.kodejava.org/examples/241.htmlから取られた)トリックJavaでは、およびUNIX上で、さらにはWindows上のファイル・システム・レベルで

// 
// Create an instance of File for data file. 
// 
File file = new File("data"); 

try { 
    // 
    // Create a new Scanner object which will read the data 
    // from the file passed in. To check if there are more 
    // line to read from it we check by calling the 
    // scanner.hasNextLine() method. We then read line one 
    // by one till all line is read. 
    // 
    Scanner scanner = new Scanner(file); 
    while (scanner.hasNextLine()) { 
     String line = scanner.nextLine(); 
     System.out.println(line); 
    } 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} 
関連する問題