so, i've been have issues homework assignment 3 weeks now, , can't figure out how fix it.
i have write program search binary file of numbers of type int , have program write them smallest largest. file cannot contain numbers of type int.
here's program:
import java.io.datainputstream; import java.io.fileinputstream; import java.io.filenotfoundexception; import java.io.eofexception; import java.io.ioexception; import java.util.arrays; public class binaryfile { public static void main(string[] args) throws ioexception { int[] numarray = new int[10]; try { datainputstream inputstream = new datainputstream(new fileinputstream("numbers.dat")); //creates object reads numbers.dat system.out.println("reading integers numbers.dat"); int i; for(i = 0;i < 10;i++) //takes numbers number.dat , puts them in numarray { numarray[i] = inputstream.readint(); } inputstream.close(); } catch(eofexception e) { system.out.println("end of file reached"); } catch(filenotfoundexception e) { system.out.println("numbes.dat not found"); system.exit(0); } catch(ioexception e) { system.out.println("ioexception found"); e.printstacktrace; system.exit(0); } catch(exception e) { system.out.println("other exception found."); system.exit(0); } system.out.println("re-ordering numbers."); arrays.sort(numarray); //reorders numbers in array for(int j = 0; j < 10; j++) //prints out numbers in array { system.out.println(numarray[j]); } } }
the output follows:
reading integers numbers.dat end of file reached java.io.eofexception @ java.io.datainputstream.readint(unknown source) @ binaryfile.main(binaryfile.java:23) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ edu.rice.cs.drjava.model.compiler.javaccompiler.runcommand(javaccompiler.java:272) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ edu.rice.cs.dynamicjava.symbol.javaclass$javamethod.evaluate(javaclass.java:362) @ edu.rice.cs.dynamicjava.interpreter.expressionevaluator.handlemethodcall(expressionevaluator.java:92) @ edu.rice.cs.dynamicjava.interpreter.expressionevaluator.visit(expressionevaluator.java:84) @ koala.dynamicjava.tree.staticmethodcall.acceptvisitor(staticmethodcall.java:121) @ edu.rice.cs.dynamicjava.interpreter.expressionevaluator.value(expressionevaluator.java:38) @ edu.rice.cs.dynamicjava.interpreter.expressionevaluator.value(expressionevaluator.java:37) @ edu.rice.cs.dynamicjava.interpreter.statementevaluator.visit(statementevaluator.java:106) @ edu.rice.cs.dynamicjava.interpreter.statementevaluator.visit(statementevaluator.java:29) @ koala.dynamicjava.tree.expressionstatement.acceptvisitor(expressionstatement.java:101) @ edu.rice.cs.dynamicjava.interpreter.statementevaluator.evaluatesequence(statementevaluator.java:66) @ edu.rice.cs.dynamicjava.interpreter.interpreter.evaluate(interpreter.java:77) @ edu.rice.cs.dynamicjava.interpreter.interpreter.interpret(interpreter.java:47) @ edu.rice.cs.drjava.model.repl.newjvm.interpreterjvm.interpret(interpreterjvm.java:246) @ edu.rice.cs.drjava.model.repl.newjvm.interpreterjvm.interpret(interpreterjvm.java:220) @ sun.reflect.nativemethodaccessorimpl.invoke0(native method) @ sun.reflect.nativemethodaccessorimpl.invoke(unknown source) @ sun.reflect.delegatingmethodaccessorimpl.invoke(unknown source) @ java.lang.reflect.method.invoke(unknown source) @ sun.rmi.server.unicastserverref.dispatch(unknown source) @ sun.rmi.transport.transport$1.run(unknown source) @ sun.rmi.transport.transport$1.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ sun.rmi.transport.transport.servicecall(unknown source) @ sun.rmi.transport.tcp.tcptransport.handlemessages(unknown source) @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run0(unknown source) @ sun.rmi.transport.tcp.tcptransport$connectionhandler.lambda$run$240(unknown source) @ sun.rmi.transport.tcp.tcptransport$connectionhandler$$lambda$1/15621596.run(unknown source) @ java.security.accesscontroller.doprivileged(native method) @ sun.rmi.transport.tcp.tcptransport$connectionhandler.run(unknown source) @ java.util.concurrent.threadpoolexecutor.runworker(unknown source) @ java.util.concurrent.threadpoolexecutor$worker.run(unknown source) @ java.lang.thread.run(unknown source) re-ordering numbers. 0 0 0 0 540090425 540483633 807416628 825368627 891304224 941634610
basically, refusing read in numbers numbers.dat. i'm not sure problem is.
the numbers i'm using in numbers.dat are: 5 9 12 3 7 10 34 1 98 42
so object input stream not want.
you better datainputstream.
datainputstream inputstream = new datainputstream(new fileinputstream("numbers.dat"));