Bonjour,

Je suis debutant dans le monde de la programmation java;

j'ai cette erreur depuis 2 jours je n'arrive pas a la resoudre, est ce que quelqu'un peur m'aider ?

Merciii

voici l'erreur:

Exception in thread "main" java.lang.NullPointerException
at TimeSeriesDemo5.createDataset(TimeSeriesDemo5.java:66)
at TimeSeriesDemo5.<init>(TimeSeriesDemo5.java:21)
at TimeSeriesDemo5.main(TimeSeriesDemo5.java:115)
Voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.SeriesException;
import org.jfree.data.time.Day;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;



public class TimeSeriesDemo5 extends ApplicationFrame {
    
    public TimeSeriesDemo5(final String title) {
        
        super(title);
        XYDataset dataset = createDataset(null);
        JFreeChart chart = createChart(dataset);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
        chartPanel.setMouseZoomable(true, false);
        setContentPane(chartPanel);
        
    }
    
    public byte[] getStream(String fichier) 
    { 
		FileInputStream fileInput = null;
		
			try {
				fileInput = new FileInputStream(fichier);
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			int n = 0;
			
			try {
				n = fileInput.available();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} //renvoie le nb d'octet n dans fichier
			//System.out.println(n);
			
			byte [] buffer = new byte[n+1]; // creation buffer 
			//System.out.print(n+1);			
			for(int a=0; a <=n; a++)
			{	
				try {
					fileInput.read(buffer);
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}	// stockage donnee dans buffer
			}
		return buffer;			
    }
       
    public XYDataset createDataset(byte [] buffer) {
        
    	byte[] buffer2 = new byte[buffer.length];
    	System.arraycopy(buffer, 0, buffer2, 0, buffer.length);
      
       /* int c = buffer.length;
        System.out.print(c);*/
    	TimeSeries series = new TimeSeries("Random Data");
        /*for(int i=0;i<57389;i++)
        {
        	System.out.println(buffer[i]);
        }*/
               
        Day current = new Day(1,1,2008);
               
      /*  for (int i = 0; i <=n; i++) {
            try {
            	double value =  new Double (buffer[i]);
                value = value + Math.random() - 0.5;
                series.add(current, value);
                current = (Day) current.next();
                
            }
            catch (final SeriesException e) {
                System.err.println("Error adding to series");
            }
        }*/
        return new TimeSeriesCollection(series);
   
    }   
    public JFreeChart createChart(final XYDataset dataset) {
        return ChartFactory.createTimeSeriesChart(
            "Test", 
            "Day", 
            "Value", 
            dataset,
            false, 
            false, 
            false
        );
    }
    
    
    public static void main(final String[] args) {

    	
        String title = "GRAPHIQUE";
        
        TimeSeriesDemo5 t = new TimeSeriesDemo5(title);
        byte[] buffer = t.getStream("erkan.wav");
        int n=buffer.length;
       
       System.out.print("valeur de n:"+n);
        for(int a=0;a<n;a++)
        {
        	System.out.println("valeur"+a+" "+Integer.toString((buffer[a]&0xff))+" ");
        }      
       
        t.createDataset(buffer);
        t.pack();
        t.setVisible(true);

    }

}
PS: Le code qui est en commentaire n'est pas encore tester .