2016-04-16 10 views
0

私はJavaの初心者です。私は入力検証メソッドについて学んでいますが、私は完了しようとしている課題に苦労しています。誰か助けてくれますか?次のコードは、コンピュータのどこかのファイルを読み込みます。私は、ファイルパスが入力検証メソッドで正しいことを確認するはずです。これは私がこれまで持っているものです。Javaの入力検証メソッド

import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Scanner; 

public class readFile { 

public static void main(String[] args) { 

    Scanner scan = new Scanner(System.in); 
    System.out.print("Enter the name of your File: "); 
    String fileName = scan.nextLine(); 
    File inputFile = new File(fileName); 
    BufferedReader reader = null; 

    try { 
     String sCurrentLine; 
     reader = new BufferedReader(new FileReader(inputFile)); 
     while ((sCurrentLine = reader.readLine()) != null) { 
      System.out.println(sCurrentLine); 
     } 

    } catch (IOException e) { 
     e.printStackTrace(); 
     System.out.print(e.getMessage()); 

    } finally { 

     try { 
      if (reader != null)reader.close(); 
     } catch (IOException ex) { 
      System.out.println(ex.getMessage()); 
      ex.printStackTrace(); 

     } 
    } 
} 

}

+0

正しいとはどういう意味ですか?入力が有効な(可能な)ファイル名であることがファイルに存在するとは限りませんか? –

+0

ファイルが存在する –

答えて

0

指定したファイルのパスが正しいかどうかにする最も簡単な方法は、それが存在する場合は、単純にチェックすることです:コード以下

if (inputFile.exists() && !inputFile.isDirectory()) { 
    // inputFile has a valid path. 
} 
+0

どこに配置するのですか? –

+0

とにかくファイルを使用したり使用する前に。おそらくあなたの 'try'ブロックの最初のものです。 –

0

使用チェック。

File f = new File(filePathString); 
if(f.exists() && !f.isDirectory()) { 
    // do something 
}