Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
Olllolll
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
1

Работа со сканером

25.03.2013, 17:11. Просмотров 2808. Ответов 7
Метки нет (Все метки)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class ReadFileByScanner {
    public ReadFileByScanner() {
 
        File file = new File("c:\\testfile.txt");
        try {
            Scanner scanner = new Scanner(file);
            while (scanner.hasNextLine()) {
                if (scanner.hasNextInt() && scanner.hasNextDouble()) {
                    int i = scanner.nextInt();
                                        double d = scanner.nextDouble();
                                        scanner.useDelimiter(";\\s* ");
                    System.out.println("Тип Integer: " + i + "DOUBLE" + d);
                } else if (scanner.hasNextBoolean()) {
                    Boolean b = scanner.nextBoolean();
                    System.out.println("Тип boolean: " + b);
                } else {
                    System.out.println("String: " + scanner.next());
                }
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        new ReadFileByScanner();
    }
}
Програмка должна читать файл и в результате определея типа файла - печатать в консоль его тип и содержимое. По отдельности все работает, но если в файле есть и инт и дабл к примеру, то она ничего не выводит почему то, я решил скомпонировать что бы она работала и если инт и если дабл, но что то не получилось. Подскажите что изменить.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.03.2013, 17:11
Ответы с готовыми решениями:

Чтение файла сканером
scanner = new Scanner(new FileInputStream("Matrix")); for (int i = 0; i < 4; i++) { for...

Работа со сканером
Здравствуйте. очень большая к вам просьба. помогите разобраться как подвязать сканер штрих кода...

Работа со сканером штрихкода
всем привет. скажите пожалуйста, как перехватить результат у сканера штрихкода в управляемом...

Работа со сканером и textbox
Добрый день! Почитал форум, но ответ не нашел. Использую сканер ШК и простенькую форму, с...

Работа со сканером TWAIN
Приветствую. Посоветуйте пожалуста компонент или нормальную библиотеку для работы со сканером. ...

7
Freeman666
9 / 35 / 7
Регистрация: 04.03.2013
Сообщений: 184
25.03.2013, 18:23 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static void main(String[] args) throws IOException {   
 File file = new File("D:\\testfile.txt");
 Scanner scanner = null;
        try {
            scanner = new Scanner(file);
           while(scanner.hasNextInt()){
                    int i = scanner.nextInt();
                  System.out.println("Тип Integer: " + i);
           }
           while(scanner.hasNextDouble()){
             double d = scanner.nextDouble();
               System.out.println("Тип Double: " + d);
           }
               while(scanner.hasNextBoolean()) {
                    Boolean b = scanner.nextBoolean();
                    System.out.println("Тип boolean: " + b);
               } 
        } catch (FileNotFoundException e) {
        } catch(InputMismatchException ex){}
        finally{scanner.close();}
    }
Добавлено через 12 минут
Неверно =) Вот так лучше

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public static void main(String[] args) throws IOException {   
 File file = new File("D:\\testfile.txt");
 Scanner scanner = null;
        try {
            scanner = new Scanner(file);
            while(scanner.hasNext()){
           if(scanner.hasNextInt()){
                    int i = scanner.nextInt();
                  System.out.println("Тип Integer: " + i);
                  continue;
           }
           if(scanner.hasNextDouble()){
             double d = scanner.nextDouble();
               System.out.println("Тип Double: " + d);
               continue;
           }
               if(scanner.hasNextBoolean()) {
                    Boolean b = scanner.nextBoolean();
                    System.out.println("Тип Boolean: " + b);
                  
               } 
            }
        } catch (FileNotFoundException e) {
        } catch(InputMismatchException ex){}
        finally{scanner.close();}
    }
0
Olllolll
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
25.03.2013, 20:52  [ТС] 3
Цитата Сообщение от Freeman666 Посмотреть сообщение
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public static void main(String[] args) throws IOException { * 
File file = new File("D:\\testfile.txt");
Scanner scanner = null;
try {
scanner = new Scanner(file);
 while(scanner.hasNext()){
if(scanner.hasNextInt()){
int i = scanner.nextInt();
System.out.println("Тип Integer: " + i);
continue;
}
if(scanner.hasNextDouble()){
double d = scanner.nextDouble();
System.out.println("Тип Double: " + d);
continue;
.......
 }
Не работает. Ваша версия еще хуже чем моя)
При запуске находит только инт , если я напишу дабл или стринги в текстовом файле то пустая консоль вовсе.
Мне нужно что бы если в текстовом файле есть слова - она говорила что это стринг и выводила эти слова, если целые числа - инт + числа и так далее (И не по отдельности а если есть и тот и тот тип в одном файле, то выводить и тот и тот).
Может статейка где то есть на эту тему? подкиньте.
0
Freeman666
9 / 35 / 7
Регистрация: 04.03.2013
Сообщений: 184
25.03.2013, 21:00 4
И так тестовый файл

nenaviju govnocoderov true 1,4 2 5
tvoi kod gavno true

Вот код

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.io.File;
import java.io.FileNotFoundException;
import java.util.InputMismatchException;
import java.util.Scanner;
/**
 * lol.
 * 
 * Date: Mar 19, 2013
 * @author Стас 
 */
public class lol {
 public static void main(String[] args) {
 
 
 Scanner scanner = null;
        try {
              File file = new File("D:\\testfile.txt");
            scanner = new Scanner(file);
            while(scanner.hasNext()){
           if(scanner.hasNextInt()){
                    int i = scanner.nextInt();
                  System.out.println("Тип Integer: " + i);
                  continue;
           }
           if(scanner.hasNextDouble()){
             double d = scanner.nextDouble();
               System.out.println("Тип Double: " + d);
               continue;
           }
               if(scanner.hasNextBoolean()) {
                    Boolean b = scanner.nextBoolean();
                    System.out.println("Тип Boolean: " + b);
                  
               }else{
                String s = scanner.next();
                    System.out.println("Тип String: " + s);  
               }
             
            }
        } catch (FileNotFoundException e) {
        } catch(InputMismatchException ex){}
        finally{scanner.close();}
 
  }
 
    }
Вот результат работы

Тип String: nenaviju
Тип String: govnocoderov
Тип Boolean: true
Тип Double: 1.4
Тип Integer: 2
Тип Integer: 5
Тип String: tvoi
Тип String: kod
Тип String: gavno
Тип Boolean: true

А дальше гугли, читай и изменяй как хочешь, программа разбирает файл на типы, а по отдельности или хз как тебе там надо я разбираться не стану.
0
25.03.2013, 21:00
Olllolll
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
25.03.2013, 21:11  [ТС] 5
Цитата Сообщение от Freeman666 Посмотреть сообщение
nenaviju govnocoderov true 1,4 2 5
tvoi kod gavno true
А на русском слабо??
Как абгрейдить что бы русские буквы распознавало?
а то с русскими пустая консоль, такие дела
0
Freeman666
9 / 35 / 7
Регистрация: 04.03.2013
Сообщений: 184
25.03.2013, 21:14 6
Java
1
 scanner = new Scanner(file,"Cp1251");
1
Olllolll
-7 / 22 / 4
Регистрация: 07.03.2013
Сообщений: 229
25.03.2013, 22:28  [ТС] 7
Цитата Сообщение от Freeman666 Посмотреть сообщение
scanner = new Scanner(file,"Cp1251");
таким образом можно менять кодировку на любую другую ???
0
Freeman666
9 / 35 / 7
Регистрация: 04.03.2013
Сообщений: 184
25.03.2013, 22:32 8
Разумеется. Я не очень в них силён, но знаю что под виндой её как вариант юзать если необходима работа с русской раскладкой.
1
25.03.2013, 22:32
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2013, 22:32

Работа со сканером штрихкодов
Нужен код или название библиотеки, желательно бесплатной, для работы со штрих-кодом. Есть USB...

Работа со сканером из под VB
Люди!Помогите! Меня интиресует работа со сканером из под VB , если можно,то с примерами. Заранее...

Работа со слайд-сканером
Если у кого есть такой опыт, откликнитесь.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru