393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
1

Программа сравнения файлов

13.07.2011, 19:55. Показов 2133. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Скажите пожалуйста: почему, когда я нажимаю на кнопку Compare у меня возникает ошибка?
IDE - Eclipse
Файлы добавляю как обычно:

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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
 
public class SwinDemo implements ActionListener {
    JTextField jtfFirst, jtfSecond;
    
    JLabel jlabFirst, jlabResult;
    
    JButton jbtnComp;
 
     SwinDemo() {
    JFrame jfrm = new JFrame("Compare files");
    
    jfrm.setLayout(new FlowLayout());
    
    jfrm.setSize(200,190);
    
    jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    jtfFirst = new JTextField(14); 
    jtfSecond = new JTextField(14);
    
    jtfFirst.setActionCommand("FileA");
    jtfSecond.setActionCommand("FileB");
    
    JButton jbtnComp = new JButton("Compare");
    
    jbtnComp.addActionListener(this);
    
    JLabel jlabFirst = new JLabel("First file: ");
    JLabel jlabSecond = new JLabel("Second file: ");
    JLabel jlabResult = new JLabel("  ");
     
    jfrm.add(jlabFirst);
    jfrm.add(jtfFirst);
    jfrm.add(jlabSecond);
    jfrm.add(jtfSecond);
    jfrm.add(jbtnComp);
    jfrm.add(jlabResult);
    
    jfrm.setVisible(true);   
     }
 
public void actionPerformed(ActionEvent ae) {
    int i, j;  i = j = 0;
    FileInputStream f1, f2;
    
    if(jtfFirst.getText().equals("")) {
        jlabResult.setText("Second file name missing ");
        return;
    }
  
    if(jtfSecond.getText().equals("")) {
        jlabResult.setText("Second file name missing ");
        return;
      }
    
    try {
f1 = new FileInputStream(jtfFirst.getText());   
    } catch(FileNotFoundException exc) {
        jlabResult.setText("First file not found ");
        return;
      }
    
    try {
        f2 = new FileInputStream(jtfSecond.getText());  
        } catch(FileNotFoundException exc) {
            jlabResult.setText("Second file not found ");
    try {
    f1.close();
        } catch(IOException exc2) {
            jlabResult.setText(" close first file ");
        }
     return;
   }
        
  try {
      do {
         i = f1.read();
         j = f2.read();
         if(i!=j) break;
     }while( i!=-1 & j!=-1);
      
      if(i != j) 
          jlabResult.setText("Files are not the same ");
      else
          jlabResult.setText("Files compare equal ");
       } catch(IOException exc) {
            jlabResult.setText("File Error ");
        }
       
       try {
           f1.close();
       } catch(IOException exc) {
           jlabResult.setText("Error closing first file ");
       }
       
       try {
           f2.close();
       } catch(IOException exc) {
           jlabResult.setText("Error closing second file ");
      }
    }
 
public static void main(String[] arqs) {
    SwingUtilities.invokeLater(new Runnable(){
        public void run() {
            new  SwinDemo();
        }
    });
  }
}
Миниатюры
Программа сравнения файлов  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2011, 19:55
Ответы с готовыми решениями:

Утилита сравнения файлов
Задача из книги Шилдта для начинающих. В книге есть пример утилиты, и затем задание: 1....

Программа сравнения звуковых файлов
Есть 2 звуковых файла с расширением pcm в формате моно 16 бит. Требуется сравнить эти два файла и...

Программа сравнения информации из двух файлов
Есть программа: block :: String -> block "" = block str = map (\w-> (let (x:y:_) = words w in...

Программа для сравнения двух файлов
Добрый день! Требуется помощь в доработке программы. Суть в том, что программа должна запрашивать...

4
Добрый самаритянин
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
13.07.2011, 20:21 2
лог ошибок то выложите
1
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
13.07.2011, 20:46  [ТС] 3
Вот
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
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at cl.actionPerformed(cl.java:51)
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)
0
Добрый самаритянин
1107 / 622 / 139
Регистрация: 31.03.2009
Сообщений: 2,567
13.07.2011, 22:50 4
Забыли выделить память для jlabResult

Добавлено через 7 минут
Java
1
JLabel jlabResult = new JLabel("  ");
Замени на
Java
1
jlabResult = new JLabel("  ");
Добавлено через 12 минут
Дело в том что ты объявил поле jlabResult, затем в конструкторе объявил переменную jlabResult и выделил память, а у нее область видимости ограниченна конструктором, и выйдя из него она уничтожается, а созданный компонент спокойно висит на форме. В итоге поле jlabResult указывает в некуда = null и при попытке вызвать метод jlabResult.setText выбрасывается NullPointerException.
Твоя IDE должна была выдать тебе предупреждение Local variable hides a field
1
393 / 279 / 38
Регистрация: 06.08.2010
Сообщений: 833
13.07.2011, 23:55  [ТС] 5
Спасибо. Не знал =)
0
13.07.2011, 23:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2011, 23:55
Помогаю со студенческими работами здесь

Программа для сравнения двух текстовых файлов
Составьте программу для сравнения двух текстовых файлов. Если файлы не совпадают, то на экран...

Сравнения файлов Excel
Есть программа которая сравнивает два файла private void button1_Click(object sender,...

Функция для сравнения файлов
Даны два текстовый файла, состоящие из некоторого количества строк. Написать функцию для сравнения...

Быстрый способ сравнения файлов
На одном форуме прочел коммент пользователя: Как реализовать чтение по кластерам и сравнение в...

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

скрипт сравнения двух текстовых файлов
Доброго времени суток! помогите с задачкой на Питоне пожалуйста... Суть задачи в том, что есть два...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru