2016-09-22 3 views
-3

Я вроде как новый для java, и у меня есть эта программа для лексического анализатора для моего назначения, программа работает нормально, и моя единственная проблема - это мой входной поток из текста файл.Как читать ваши данные из текстового файла в java

public class LexicalAnalyzer { 

public static void main(String[] args) { 

    Scanner reader = new Scanner(System.in); 
    System.out.println("Input strings: "); 
    String str = reader.nextLine(); 

    for (int i = 0; i < str.length(); i++) 
    { 
     switch (str.charAt(i)) 
     { 
      case '+': 
       System.out.println("Token: + Type: ADDITION"); 
       break; 
      case '-': 
       System.out.println("Token: - Type: SUBTRACTION"); 
       break; 
      case '*': 
       System.out.println("Token: * Type: MULTIPLICATION"); 
       break; 
      case '/': 
       System.out.println("Token:/ Type: DIVISION"); 
       break; 
      case '(': 
       System.out.println("Token: ( Type: LEFT PARENTHESIS"); 
       break; 
      case ')': 
       System.out.println("Token:) Type: RIGHT PARENTHESIS"); 
       break; 
      case '=': 
       System.out.println("Token: = Type: EQUALS"); 
       break; 
      case ';': 
       System.out.println("Token: ; Type: END"); 
       break; 
      case '0': 
       System.out.println("Token: 0 Type: NUM"); 
       break; 
      case '1': 
       System.out.println("Token: 1 Type: NUM"); 
       break; 
      case '2': 
       System.out.println("Token: 2 Type: NUM"); 
       break; 
      case '3': 
       System.out.println("Token: 3 Type: NUM"); 
       break; 
      case '4': 
       System.out.println("Token: 4 Type: NUM"); 
       break; 
      case '5': 
       System.out.println("Token: 5 Type: NUM"); 
       break; 
      case '6': 
       System.out.println("Token: 6 Type: NUM"); 
       break; 
      case '7': 
       System.out.println("Token: 7 Type: NUM"); 
       break; 
      case '8': 
       System.out.println("Token: 8 Type: NUM"); 
       break; 
      case '9': 
       System.out.println("Token: 9 Type: NUM"); 
       break; 
     } 
    }  

Любые идеи о том, как я могу читать свой ввод из текстового файла?

+1

Я уверен, существующий ответ на ваш вопрос был предложен к вам, когда вы ввели название на свой пост. – ChiefTwoPencils

+0

Подсказка: не печатайте подсказки и не открывайте сканер из-за чего-то, кроме 'System.in'. – RealSkeptic

+0

Запустите вашу программу, как 'java xxx.LexicalAnalyzer saka1029

ответ

0

Вы можете использовать нижеприведенные методы утилиты из класса File для чтения содержимого файла.

Files.readAllLines() или Files.lines()

0

Посмотрите на это https://www.mkyong.com/java/how-to-read-file-from-java-bufferedreader-example/ это так легко

прочитать файл как строки и разделить каждую строку, чтобы выполнить ваш mession

Есть много способов чтения из файла например, с помощью buufererdReader в качестве примера

Я думаю, что это простой вопрос лет и должны сделать некоторые поиск, прежде чем задавать какие-либо вопросы по StackOverflow

надеюсь, что буду полезен для вас

0

Я даю вам программу для чтения из текстового файла.

Вот код

public class ReadToFile { 

    public static void main(String[] args) { 
     try { 
      //File file = new File("C:\\Sample\\ketan.txt"); 
      FileReader fileReader = new FileReader("C:\\Sample\\xyz.txt"); 
      BufferedReader bufferedReader = new BufferedReader(fileReader); 
      String content = bufferedReader.readLine(); 
      System.out.println("Content of file is " + content); 
      bufferedReader.close(); 

     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 
} 
Смежные вопросы