2017-10-15 20 views
-1

ファイルを開く必要がありますが、メイン関数でエラーが発生します ユーザーにファイル名を許可しようとしていますが、正しくない場合はエラーが発生しますメッセージを送信し、プログラムを終了します。 私のプログラムです。Javaプログラムでファイルを開くことができません

//import java.io.File; 

//import java.io.PrintWriter; 

import java.util.Scanner; 

import java.io.*; // file input/output 

import java.io.IOException; 

public class Stock{ 
String name; 
String symbol; 
double Price; 

//Random randomNumbers = new Random();//Generate random numbers 

    Stock(){ // no-argument constructor 
    name=""; 
    symbol=""; 
    Price=0.0; 
    } 

    Stock(String n,String s,double p){ //constructor with argument 
    name=n; 
    symbol=s; 
    Price=p; 
    } 
    public void setname(String name){//mutators to set the value of name 
    this.name=name;  
    } 
    public void setsymbol(String symbol){//mutators to set the value of symbol 
     this.symbol=symbol; 
    } 
    public void setnextPrice(double price){ 
     this.Price = price;  
    } 
    public String getname(){//accessor to get the name 

     return name; 
    } 

    public String getsymbol(){ //accessor to get the symbol 
     return symbol; 
    } 
    public double getPrice(){//accessor to get currentPrice 
     return Price; 

    } 


public void openfile()throws IOException{ 
    String f=""; 
    System.out.print("Please enter the file name: "+f); 
    if (f.equals("stocks.txt")){ 
     Scanner x; 
     x= new Scanner(new File("stocks.txt")); 

     //PrintWriter outputFile = new PrintWriter("output.txt"); 

      String name = x.nextLine(); 

      System.out.println(name); 

    } 
else{ 

    System.out.println("File Not Found"); 
     return; 
     } 
    } 
} 
+0

これは主な機能です //インポートjava.io. *; //ファイル入力/出力 import java.util.Scanner; //インポートjava.io.IOException; public class StockList { \tスキャナ入力= null; \t public static void main(String [] arg){ \t \t株式の新規株式(); \t \t株式2 =新しい株式(名前、シンボル、価格); \t \t stockopenfile(); \t \t \t } – Abdoh

+1

質問を編集してコードを正しくフォーマットしてください。メインメソッドで 'stock'と' stock2'を混乱させるようです。 – SpiderPig

+1

この問題の解決に関連するすべての情報を質問に含める必要があります(コメント欄には記入しないでください)。あなたの質問を編集してください。そして、この問題に関係していないコードの部分を整理するのをためらってください。 –

答えて

0

私はあなたがstocks.txtという名前のファイルを読み込み、それがラインによるコンテンツのラインです取得しようとしていると仮定し、あなたはファイルのAPIに

輸入java.nioのを使用して複数の方法で

これを行うことができます.file.Files; import java.nio.file.Paths;

リスト行= Files.readAllLines(Paths.get(uri)、 Charset.defaultCharset());

このリストの上に反復処理し、スキャナ

 File file = new File("stock.txt"); 

     input = new Scanner(file); 


     while (input.hasNextLine()) { 
      String line = input.nextLine(); 
      System.out.println(line); 
     } 
     input.close(); 

あなたはファイルのAPIを使用して簡単な方法ですが、それを達成するための方法のいずれかを使用することができます

File file = new File("stocks.txt"); 
    FileInputStream fis = null; 
    BufferedInputStream bis = null; 
    DataInputStream dis = null; 

    try { 
     fis = new FileInputStream(file); 

     bis = new BufferedInputStream(fis); 
     dis = new DataInputStream(bis); 

     while (dis.available() != 0) { 
      System.out.println(dis.readLine()); 
     } 

    } 
    catch (..) {} 

を使用してを使用してコンテンツ

を取得します。

+0

助けをありがとう 最高の価格と最低の価格を得て、ファイルから平均を計算したいのですが? 行単位で取得する代わりに – Abdoh

関連する問題