Использование bufferedreader для чтения файла и хранения строк и ints [duplicate]

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

Я задавался вопросом, какой путь лучше уже давно, и благодаря http : //jsperf.com теперь я знаю:)

enter image description here [/g1]

Объявление функций происходит быстрее, и это то, что действительно имеет значение в web dev right ? ;)

4
задан Mufaddal 22 May 2013 в 11:03
поделиться

6 ответов

В конструкторе для BufferedReader необходимо указать InputStreamReader. InputStreamReader превращает байтовые потоки в потоки символов. Как упоминалось выше, следует учитывать исключения, которые могут быть выбраны из этой части кода, такие как исключение IOException и исключение NumberFormatException.

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("input a number");
int n = Integer.parseInt(br.readLine());
13
ответ дан Kevin Bowersox 20 August 2018 в 22:47
поделиться
  • 1
    Код, который вы предоставили, может генерировать исключения. :) – Konstantin Yovkov 22 May 2013 в 11:02
  • 2
    @Kocko Я согласен, и я уверен, что любая достойная IDE будет предупреждать OP об этом. Я просто пытался дать краткий ответ, я обновил, чтобы предупредить OP об этих исключениях. – Kevin Bowersox 22 May 2013 в 11:03

Попробуйте следующее:

  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
   System.out.println("input a number");
try{  
    int n = Integer.parseInt(br.readLine());
    } catch (IOException e) {e.printStackTrace();}
0
ответ дан drewmoore 20 August 2018 в 22:47
поделиться
DataInputStream br=new DataInputStream(System.in);
System.out.println("input a number");
int n=Integer.parseInt(br.readLine(System.in));
-1
ответ дан Kartoch 20 August 2018 в 22:47
поделиться

попробуйте это

BufferedReader br = new BufferedReader(System.in);
String a=br.readLine()
Integer x = Integer.valueOf(a);
System.out.println(x);//integer value
1
ответ дан KhAn SaHaB 20 August 2018 в 22:47
поделиться

При использовании BufferedReader вы должны позаботиться об исключениях, которые он может бросить. Кроме того, метод Integer.parseInt(String s) может вызывать NumberFormatException, если String, который вы предоставляете, не может быть преобразован в Integer.

try {
   BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
   while ((thisLine = br.readLine()) != null) {
     System.out.println(thisLine);
     Integer parsed = Integer.parseInt(thisLine);
     System.out.println("Parsed integer = " + parsed);
   } 
 } catch (IOException e) {
    System.err.println("Error: " + e);
 } catch (NumberFormatException e) {
    System.err.println("Invalid number");
 }
1
ответ дан Konstantin Yovkov 20 August 2018 в 22:47
поделиться

попробуйте этот путь

BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
 String input = reader.readLine();
 int n=Integer.parseInt(input);
1
ответ дан Sanjaya Liyanage 20 August 2018 в 22:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: