2016-04-13 7 views
-2

有効なファイル名を確認する方法については、お手伝いが必要です。ここでJava Check Vaildファイル

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

public class BookstoreInventory 
{ 
    public static void main(String[] args)throws IOException 
    { 
     //Vaiable declartions 
     int edition, quanity; 
     double pricePerBook; 
     String isbn, author, title, publisherCode; 
     int totalQuant = 0; 
     double total = 0; 
     double totalValue = 0; 
     double sumOfPriceBook = 0; 

     //Scanner object for keyboard input 
     Scanner keyboard = new Scanner(System.in); 

     //Get the file name from the user 
     System.out.print("Enter the name of the file: "); 
     String filename = keyboard.nextLine(); 

     //Open the file and set delimiters 
     File file = new File(filename); 
     Scanner inputFile = new Scanner(file); 
     inputFile.useDelimiter("_|/|\\r?\\n"); 
    } 
} 

だから私のプログラムの中で、私は、私はそれが有効なファイルかどうかを確認する方法をわからないんだけど...私のプログラムの一部です。たとえば、ユーザーがファイルの名前に「インベントリ」を入力すると、ファイル名に.txtが必要なため、ユーザーは「inventory.txt」と入力する必要があるため、エラーが発生します。そこで、入力した名前に.txtを追加する方法はありますか?または、ファイルが有効かどうかを確認するにはどうすればよいですか?どんな助けでも大歓迎です。

+0

[String#endsWith](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#endsWith%28java.lang.String%29)を使用して、ユーザは ".txt"で終わる文字列を入力します。 – Norsk

+1

'if(file.canRead()')を使用して['File.canRead()'](https://docs.oracle.com/javase/8/docs/api/java/io/File.html#canRead--) ) '? –

+0

***有効な***によって何を意味するかによって異なります。彼らが入力するものは、有効なファイル名の形式を持っているということですか?それとも、実際に存在するファイルの名前を入力するということですか?ご指定ください。 –

答えて

2

あなたはこの試みることができます:あなたは、ファイルが既に存在するかどうかを知りたい場合は、また

if (!fileName.trim().toLowerCase().endsWith(".txt")) { 
    fileName+= ".txt"; 
} 

を:

File file = new File(filename); 
// If file doesn't exist then close application... 
if (!file.exists()) { System.exist(0); } 

は、この情報がお役に立てば幸いです。

0

.txtを追加してユーザーの入力文字列を連結してみてください。それは動作するはずです。