2017-11-21 4 views
0

は、私がデータベースという名前のパッケージ/フォルダを持っている、とデータベースパッケージの内側に私はDATA.TXTという名前のファイルを持っています。JavaのMainクラスの相対パスからファイルを読み込むにはどうすればよいですか?私<strong>Main.java</strong>ファイルの同じディレクトリに

これはMain.javaの私のコードですが、このエラーを投げている:

java: exception java.io.FileNotFoundException

私は相対ファイルからファイルを取得できますか?私はWeb開発に慣れています。 "./folder/file.txt"のようなドットが動作します。

import java.io.File; 
import java.util.Scanner; 
import java.io.FileNotFoundException; 

    public class Main { 

     public static void main(String[] args) { 

      readFile(); 

     } 

     public static void readFile() { 

      File file = new File("./database/Data.txt"); 
      Scanner scanner = new Scanner(file); 

      try { 

       while (scanner.hasNextLine()) { 
        int i = scanner.nextInt(); 
        System.out.println(i); 
       } 
       scanner.close(); 
      } 
      catch (FileNotFoundException e) { 
       e.printStackTrace(); 
      } 

     } 

    } 
+0

Main.javaを実行していません。別のフォルダにあるMain.classを実行しています。 – shmosel

+0

あなたのフォルダ構造を教えてください。さもなければ私達はちょうど推測できる。 – Zabuza

+0

私は質問に書いた... –

答えて

0

FileNotFoundExceptionクラスをインポートしていません。また、scannerステートメントはtry内で例外をスローします。解決策は次のとおりです。

import java.io.File; 
import java.util.Scanner; 
import java.io.FileNotFoundException; 

public class Main { 

    public static void main(String[] args) { 

     readFile(); 

    } 

    public static void readFile() { 

     File file = new File("database/Data.txt"); 

     try { 
      Scanner scanner = new Scanner(file); 
      while (scanner.hasNextLine()) { 
       int i = scanner.nextInt(); 
       System.out.println(i); 
      } 
      scanner.close(); 
     }catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 

    } 

} 

これらのコンテンツがscannerを使用して読み取られるかどうかのみを確認してください。 intを正しく持つコンテンツ。それ以外の場合は、java.util.InputMismatchExceptionがスローされます。

+0

動作しません。 –

+0

Data.txtのデータは何ですか? –

+0

UTF-8テキスト。 ... –

関連する問題