import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class RandomNum extends JFrame implements ActionListener{
private JPanel panButtons;
private JTextArea taDisplay;
private JButton btnWrite, btnRead;
public RandomNum() {
panButtons = new JPanel();
btnWrite = new JButton("Write");
btnRead = new JButton("Read");
panButtons.add(btnWrite);
panButtons.add(btnRead);
btnWrite.addActionListener(this);
btnRead.addActionListener(this);
taDisplay = new JTextArea();
Container c = getContentPane();
c.setLayout(new BorderLayout());
c.add(taDisplay);
c.add(panButtons, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e){
if(e.getSource () == btnWrite){
writeFile();
}
if(e.getSource() == btnRead){
readFile();
}
}
public void writeFile(){
String message = "";
File filename = new File("binary.txt");
int n = (int) (Math.random() * 100 + 1);
for(n=0; n<=20; n++){
try{
FileOutputStream fOut = new FileOutputStream(filename);
DataOutputStream dOut = new DataOutputStream(fOut);
dOut.writeInt(n);
dOut.close();
message = "Done";
taDisplay.setText(message);
}
catch(IOException e){
taDisplay.setText("Error");
}
}
}
public void readFile(){
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;
try{
fis = new FileInputStream("binary.txt");
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
while (dis.available() !=0){
taDisplay.setText(dis.readLine());
}
fis.close();
dis.close();
bis.close();
}
catch(IOException i){
}
}
/*try{
FileInputStream fis = new FileInputStream("binary.txt");
DataInputStream dis = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
String str;
while ((str = br.readLine())!=null){
taDisplay.append(str);
}
dis.close();
}
catch (IOException i){
taDisplay.setText("Error" + i.getMessage());
}*/
public static void main(String[] args){
RandomNum frame = new RandomNum();
frame.setTitle("Random Number");
frame.setSize(850, 200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
15 Replies - 1288 Views - Last Post: 06 December 2010 - 08:47 PM
#1
Random Number help
Posted 05 December 2010 - 05:31 AM
Replies To: Random Number help
#2
Re: Random Number help
Posted 05 December 2010 - 09:27 AM
#3
Re: Random Number help
Posted 05 December 2010 - 11:26 AM
darek9576, on 05 December 2010 - 10:27 AM, said:
It is exactly that. You should
- new FileOutputStream()
- new DataOutputStream()
- perform the for() loop that write to the file
- close the stream
Righ now you create/open/close at each iteration of the loop
#4
Re: Random Number help
Posted 06 December 2010 - 05:46 AM
darek9576, on 05 December 2010 - 11:27 PM, said:
I did what you told me to... but still the same
#6
Re: Random Number help
Posted 06 December 2010 - 06:36 AM
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class RandomNum extends JFrame implements ActionListener{
private JPanel panButtons;
private JTextArea taDisplay;
private JButton btnWrite, btnRead;
public RandomNum() {
panButtons = new JPanel();
btnWrite = new JButton("Write");
btnRead = new JButton("Read");
panButtons.add(btnWrite);
panButtons.add(btnRead);
btnWrite.addActionListener(this);
btnRead.addActionListener(this);
taDisplay = new JTextArea();
Container c = getContentPane();
c.setLayout(new BorderLayout());
c.add(taDisplay);
c.add(panButtons, BorderLayout.SOUTH);
}
public void actionPerformed(ActionEvent e){
if(e.getSource () == btnWrite){
writeFile();
}
if(e.getSource() == btnRead){
readFile();
}
}
public void writeFile(){
String message = "";
File filename = new File("binary.dat");
int n = (int) (Math.random() * 100 + 1);
for(n=0; n<=20; n++){
try{
FileOutputStream fOut = new FileOutputStream(filename);
DataOutputStream dOut = new DataOutputStream(fOut);
dOut.writeInt(n);
message = "Done";
taDisplay.setText(message);
dOut.close();
}
catch(IOException e){
taDisplay.setText("Error");
}
}
}
public void readFile(){
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream dis = null;
try{
fis = new FileInputStream("binary.dat");
bis = new BufferedInputStream(fis);
dis = new DataInputStream(bis);
while (dis.available() !=0){
taDisplay.setText(dis.readLine());
}
fis.close();
dis.close();
bis.close();
}
catch(IOException i){
}
}
public static void main(String[] args){
RandomNum frame = new RandomNum();
frame.setTitle("Random Number");
frame.setSize(850, 200);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
This post has been edited by z2104: 06 December 2010 - 06:37 AM
#7
Re: Random Number help
Posted 06 December 2010 - 06:39 AM
#8
Re: Random Number help
Posted 06 December 2010 - 06:44 AM
#9
Re: Random Number help
Posted 06 December 2010 - 06:47 AM
DataOutputStream dOut = null;
for(n=0; n<=20; n++){
try{
FileOutputStream fOut = new FileOutputStream(filename);
dOut = new DataOutputStream(fOut);
dOut.writeInt(n);
message = "Done";
taDisplay.setText(message);
;
}
catch(IOException e){
taDisplay.setText("Error");
}
}
if (dOut != null)
dOut.close();
#10
Re: Random Number help
Posted 06 December 2010 - 06:54 AM
Dogstopper, on 06 December 2010 - 08:47 PM, said:
DataOutputStream dOut = null;
for(n=0; n<=20; n++){
try{
FileOutputStream fOut = new FileOutputStream(filename);
dOut = new DataOutputStream(fOut);
dOut.writeInt(n);
message = "Done";
taDisplay.setText(message);
;
}
catch(IOException e){
taDisplay.setText("Error");
}
}
if (dOut != null)
dOut.close();
Hmm... I did what you told me to. There's an error says
unreported exception java.io.IOException; must be caught or declared to be thrown
Do I need to do try-catch?
#11
Re: Random Number help
Posted 06 December 2010 - 06:56 AM
#12
Re: Random Number help
Posted 06 December 2010 - 07:01 AM
#13
Re: Random Number help
Posted 06 December 2010 - 01:54 PM
#14
Re: Random Number help
Posted 06 December 2010 - 02:00 PM
Dogstopper, on 06 December 2010 - 12:47 PM, said:
DataOutputStream dOut = null;
for(n=0; n<=20; n++){
try{
FileOutputStream fOut = new FileOutputStream(filename);
dOut = new DataOutputStream(fOut);
dOut.writeInt(n);
message = "Done";
taDisplay.setText(message);
;
}
catch(IOException e){
taDisplay.setText("Error");
}
}
if (dOut != null)
dOut.close();
And removing the extra semi-colon
#15
Re: Random Number help
Posted 06 December 2010 - 08:25 PM
DataOutputStream dOut = null;
for(n=0; n<=20; n++){
try{
FileOutputStream fOut = new FileOutputStream(filename);
dOut = new DataOutputStream(fOut);
dOut.writeInt(n);
message = "Done";
taDisplay.setText(message);
;
}
catch(IOException e){
taDisplay.setText("Error");
}
}
if (dOut != null)
dOut.close();
you are opening the file 20 times
try {
FileOutputStream fOut = new FileOutputStream(filename);
DataOutputStream dOut = new DataOutputStream(fOut);
for(n=0; n<=20; n++){
dOut.writeInt(n);
}
dout.close();
message = "Done";
taDisplay.setText(message);
}
catch(IOException e){
taDisplay.setText("Error");
}

New Topic/Question
Reply



MultiQuote





|