Out of bounds exception although increasing heap space

Hello,
In my java application, there is a gif file with the size 6000 X 3500 . This file is 536 KB and i use this file with scroll bar.
My question is that although I increased heap space to 512, it still keep going to give "out of bounds" exception when i try to set new dimention to the frame bigger than (800, 1000).
How can I use my gif file with bigger frame?

There is no such exception.
Are you talking about ArrayIndexOutOfBoundsException?
OutOfMemoryError?
Something else?

Similar Messages

  • Java Index Out Of Bounds Exception error

    In the Query Designer when I choose access type for Result value as Master data, and execute, I get the following java Index Out Of Bounds Exception error:
    com.sap.ip.bi.webapplications.runtime.controller.MessageException: Error while generating HTML
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2371)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.doServerRedirect(Page.java:2642)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:2818)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2293)
         at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.doProcessRequest(Controller.java:841)
         at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.processRequest(Controller.java:775)
         at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService.handleRequest(BIRuntimeService.java:412)
         at com.sap.ip.bi.webapplications.runtime.jsp.portal.components.LauncherComponent.doContent(LauncherComponent.java:21)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
         at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    Caused by: com.sap.ip.bi.base.exception.BIBaseRuntimeException: Error while generating HTML
         at com.sap.ip.bi.webapplications.ui.items.UiItem.render(UiItem.java:380)
         at com.sap.ip.bi.webapplications.runtime.rendering.impl.ContainerNode.render(ContainerNode.java:62)
         at com.sap.ip.bi.webapplications.runtime.rendering.impl.PageAssemblerRenderingRoot.processRendering(PageAssemblerRenderingRoot.java:50)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRenderingRootNode(Page.java:3188)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRendering(Page.java:2923)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:2877)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2293)
         ... 39 more
    Caused by: java.lang.IndexOutOfBoundsException: fromIndex = -7
         at java.util.SubList.<init>(AbstractList.java:702)
         at java.util.RandomAccessSubList.<init>(AbstractList.java:860)
         at java.util.AbstractList.subList(AbstractList.java:569)
         at com.sap.ip.bi.bics.dataaccess.base.impl.ModifiableList.remove(ModifiableList.java:630)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsDataCells.removeRows(RsDataCells.java:480)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.removeTuples(RsAxis.java:550)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1312)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1326)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1326)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1326)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1272)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1170)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.ResultSet.applyPostProcessing(ResultSet.java:282)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.ResultSet.refreshData(ResultSet.java:262)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.QueryView.getResultSet(QueryView.java:267)
         at com.sap.ip.bi.webapplications.ui.items.analysis.control.AcPivotTableInteractive.checkResultSetState(AcPivotTableInteractive.java:368)
         at com.sap.ip.bi.webapplications.ui.items.analysis.control.AcPivotTableExport.validateDataset(AcPivotTableExport.java:249)
         at com.sap.ip.bi.webapplications.ui.items.analysis.control.AcPivotTableInteractive.buildUrTree(AcPivotTableInteractive.java:282)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:33)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayoutItem.iterateOverChildren(FlowLayoutItem.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayout.iterateOverChildren(FlowLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayoutCell.iterateOverChildren(MatrixLayoutCell.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayoutRow.iterateOverChildren(MatrixLayoutRow.java:56)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayout.iterateOverChildren(MatrixLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.matrixlayout.control.AcMatrixControlGrid.iterateOverChildren(AcMatrixControlGrid.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.Group.iterateOverChildren(Group.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.group.control.AcGroupControl.iterateOverChildren(AcGroupControl.java:259)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayoutItem.iterateOverChildren(FlowLayoutItem.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayout.iterateOverChildren(FlowLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.Group.iterateOverChildren(Group.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.group.control.AcGroupControl.iterateOverChildren(AcGroupControl.java:259)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.start(CompositeBuildUrTreeTrigger.java:59)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.ExtendedRenderManager.triggerComposites(ExtendedRenderManager.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.BICompositeManager.renderRoot(BICompositeManager.java:79)
         at com.sap.ip.bi.webapplications.ui.items.UiItem.render(UiItem.java:376)
    Any help in solving this error is highly appreciated. Points will be given
    Best Regards,
    Vidyut K Samanta

    Hi.
    Go to line 9 of your code.
    You are trying to use an array there.
    Suppose you have an array x[4] - this array has 4 elements indexed 0..3.
    you are trying to access an element with an index higher than 3.
    Nimo.

  • Array out of bounds exception when outputting array to file

    Could someone please tell me why i'm getting this array out of bounds exception?
    public class Assignment1 {
    public static void main(String[] names)throws IOException {
    BufferedReader keyboard = null;
    String userChoice;
    String inputFile = null;
    String studentData;
    String searchFile = null;
    String searchName;
    String stringIn;
    PrintWriter outputFile;
    FileWriter fWriter = null;
    BufferedReader fReader = null;
    int first;
    int last;
    int mid;
    int midValue;
    int i;
    int number;
    // creates keyboard as a buffered input stream
    keyboard = new BufferedReader(new InputStreamReader(System.in));
    //prompts user to choose 1 or 2 to make a corresponding choice
    System.out.println("Please Enter: ");
    System.out.println("1 to Create a File: ");
    System.out.println("2 to Search a File: ");
    userChoice = keyboard.readLine(); //user enters 1 or 2
    // converts a String into an int value
    number = Integer.parseInt(userChoice);
    fReader = new BufferedReader(new FileReader("studentData.txt"));
    if (number == 1) {          
    System.out.println("Please Enter the File Name to Create: ");
    studentData = keyboard.readLine();
    File file = new File("studentData.txt");
    fWriter = new FileWriter("studentData.txt");
    outputFile = new PrintWriter(fWriter);
    names = new String[200];
    i=0;
    //keep looping till sentinel
    while (studentData != "end" && studentData != null &&
    i < names.length) {
    if (studentData.equals("end")) break; //break and call sort
    System.out.println("Enter a name and press Enter. " +
    "Type 'end' and press Enter when done: ");
    studentData = keyboard.readLine();
    //loop for putting the names into the array
    for(i=0; i<names.length; i++) ;
    outputFile.println(names);
    } [b]outputFile.close();

    package assignment1;
    import java.io.*;
    import java.util.*;
    public class Assignment1 {
        public static void main(String[] names)throws IOException {
           BufferedReader keyboard = null;
           String userChoice;
           String inputFile = null;
           String studentData;
           String searchFile = null;
           String searchName;
           String stringIn;
           PrintWriter outputFile;
           FileWriter fWriter = null;
           BufferedReader fReader = null;
           int first;
           int last;
           int mid;
           int midValue;
           int i;
           int number;
           // creates keyboard as a buffered input stream
           keyboard = new BufferedReader(new InputStreamReader(System.in));
           //prompts user to choose 1 or 2 to make a corresponding choice
           System.out.println("Please Enter: ");
           System.out.println("1 to Create a File: ");
           System.out.println("2 to Search a File: ");
           userChoice = keyboard.readLine();    //user enters 1 or 2
           // converts a String into an int value
           number = Integer.parseInt(userChoice); 
           fReader = new BufferedReader(new FileReader("studentData.txt"));
           if (number == 1) {          
               System.out.println("Please Enter the File Name to Create: ");
               studentData = keyboard.readLine();
               File file = new File("studentData.txt");
               fWriter = new FileWriter("studentData.txt");
               outputFile = new PrintWriter(fWriter);
               names = new String[200];
               i=0;
                //keep looping till sentinel
                while (studentData.equals("end") && studentData != null &&
                       i < names.length) {
                   if (studentData.equals("end")) break;   //break and call sort
                   System.out.println("Enter a name and press Enter. " +
                                       "Type 'end' and press Enter when done: ");
                    studentData = keyboard.readLine();
                    //loop for putting the names into the array
                    for(i=0; i<names.length; i++) ;
                    outputFile.println(names);
    } outputFile.close();
    //call selectionSort() to order the array
         selectionSort(names);
         // Now output to a file.
    fWriter = new FileWriter("studentData.txt");
    outputFile = new PrintWriter(fWriter);
    } else if (number == 2) {
    System.out.println("Please Enter a File Name to search: ");
    searchFile = keyboard.readLine();
    inputFile = ("studentData.txt");
    } if (searchFile == "studentData.txt") {                      
    // Input from a file. See input file streams.
    fReader = new BufferedReader(new FileReader("studentData.txt"));
    System.out.println("Please enter a Name to search for: ");
    searchName = keyboard.readLine();
    //enter binary search code
    first = 0;
    last = 199;
    while (first < last)
    mid = (first + last)/2; // Compute mid point.
    if (searchName.compareTo(names[mid]) < 0) {
    last = mid; // repeat search in bottom half.
    } else if (searchName.compareTo(names[mid]) > 0) {
    first = mid + 1; // Repeat search in top half.
    } else {
    // Found it.
    System.out.println("The Name IS in the file.");
    } // did not find it.
    System.out.println("The Name IS NOT in the file.");
    } else //if userChoice != 1 or 2, re-prompt then start over
    System.out.println("Please Enter 1 or 2 or correctly " +
    "enter an existing file!!");
    // fWriter = new FileWriter("studentdata.txt");
    //outputFile = new PrintWriter(fWriter); //output
    public static void selectionSort(String[] names) {
    //use compareTo!!!!
    int smallIndex;
    int pass, j = 1, n = names.length;
    String temp;
    for (pass = 0; pass < n-1; pass++)
    //Code for Do/While Loop
    do {
    //scan the sublist starting at index pass
    smallIndex = pass;
    //jtraverses sublist names[pass+1] to names[n-1]
    for (j = pass+1; j < n; j++)
    //if smaller string found, smallIndex=that position
    if (names[j].compareTo(names[smallIndex]) < 0)
    smallIndex = j;
    temp = names[pass]; //swap
    names[pass] =names[smallIndex];
    names[smallIndex] = temp;
    } while (j <= names.length);
    //File file = new File("studentData.txt");
    This is the output window:
    init:
    deps-jar:
    compile:
    run:
    Please Enter:
    1 to Create a File:
    2 to Search a File:
    1
    Please Enter the File Name to Create:
    test
    Exception in thread "main" java.lang.NullPointerException
    at assignment1.Assignment1.selectionSort(Assignment1.java:134)
    at assignment1.Assignment1.main(Assignment1.java:73)
    Java Result: 1
    BUILD SUCCESSFUL (total time: 9 seconds)

  • Please iam getting index out of bound exception can any body solve my probl

    Dear all
    iam doing aproject in swing in that one class iam using the below method. Iam getting index out of bound exception. Actually iam trying to access the more that 50mb file at that time its giving out of memory exception after that iam using this method now its giving index out of bound exception, when it is going second time in the while loop. can any body solve my problem. Please give me the solution . Ill be very thankful to you.
    public Vector getFileContent(File fileObj){
    FileInputStream fis = null;
    DataInputStream dis = null;
    Vector v = new Vector();
    byte[] data = null;
    int pos = 0;
    int chunk = 10000;
    int sizePos = 0;
    try{
    fis = new FileInputStream(fileObj);
    int size = (int)fileObj.length();
    dis = new DataInputStream(fis);
    int k = 1;
    if(size <10000){
    data = new byte[size];
    //v.addElement(dis.readFully(data));
    dis.readFully(data);
    v.addElement(data);
    else {
    while(pos < size){
    sizePos = size - chunk*k;
    if(sizePos > 10000){
    chunk = 10000;
    else{
    chunk = sizePos;
    data = new byte[chunk];
    dis.read(data, pos, chunk);
    v.addElement(data);
    System.gc();
    pos = pos + chunk + 1;
    regards,
    surya

    pos = pos + chunk + 1;Why the +1??

  • How to prevent arrayindex out of bounds exception while unziping the files

    hi all ,
    i am new to java.Can any body help me to solve my problem.here is my problem.
    here i am trying to unzip a ziped file. but i am getting arrayindex out of bounds exception at line no 12 (args[0]), my quesion is to how to prevent arrayindex out of bounds exception ? please give me clear explanation.
    public class UnZip2 {
    static final int BUFFER = 2048;
    public static void main (String args[]) {
    try {
    BufferedOutputStream dest = null;
    BufferedInputStream is = null;
    ZipEntry entry;
    ZipFile zipfile = new ZipFile(args[0]);
    Enumeration e = zipfile.entries();
    while(e.hasMoreElements()) {
    entry = (ZipEntry) e.nextElement();
    System.out.println("Extracting: " +entry);
    is = new BufferedInputStream
    (zipfile.getInputStream(entry));
    int count;
    byte data[] = new byte[BUFFER];
    FileOutputStream fos = new
    FileOutputStream(entry.getName());
    dest = new
    BufferedOutputStream(fos, BUFFER);
    while ((count = is.read(data, 0, BUFFER))
    != -1) {
    dest.write(data, 0, count);
    dest.flush();
    dest.close();
    is.close();
    } catch(Exception e) {
    e.printStackTrace();
    }

    how you run it?
    java Unzip2?
    args[0] refer to first parameter in run command, so u should run it by giving a parameter. eg:
    java Unzip2 someFile.zip

  • Increasing Heap Space programatically

    Dear Experts,
    Am using JDev 11.1.1.5.0. In my project am running a java class (testproduct.class) with main(), to generate excel file from Oracle Database.
    Am passing a Query in my java code as shown below,
    select * from testproduct where rownum<=100000;
    But, it shows.
    java.lang.OutOfMemoryError: Java heap space
    How to increase the heap space through program. (i.e) How to increase my heapspace in (testproduct.class) code
    -Thanks

    Thanks Timo,
    I use JDBC in my code. My code is,
    public class Excel{
        public static void main(String[]args) throws Exception{
            try {
                Excel cexl = new Excel();
                cexl.Pass_Params(args[0], args[1], args[2],args[3], args[4]).get("Query");
            } catch (OutOfMemoryError e) {
                // TODO: Add catch code
                System.out.print("heap");
        public static HashMap Pass_Params(
                String url, String user, String password, String slno, String path) throws Exception{
            String val="Error";      
            try {
                Connection connection = null;
                Class.forName("oracle.jdbc.driver.OracleDriver");
                connection = DriverManager.getConnection(url, user, password);
                Statement s1 = connection.createStatement();
                ResultSet rs1 =
                    s1.executeQuery("SELECT QRY FROM TEST1 WHERE SNO=" + slno);        
                String p = null;
                String filename = path;
                if (rs1.next()) {
                    p = rs1.getString(1);
                ResultSet result = s1.executeQuery(p);
                HSSFWorkbook hwb = new HSSFWorkbook();
                HSSFSheet sheet = hwb.createSheet("new sheet");
                ResultSetMetaData rsmd = result.getMetaData();
                int cols = rsmd.getColumnCount();
                int vals = 0;
                HSSFRow rowhead = sheet.createRow(0);
                for (int i = 1; i <= cols; i++) {
                    rowhead.createCell((int)i -
                                       1).setCellValue(rsmd.getColumnName(i));
                HSSFRow row;
                while (result.next()) {
                    vals = vals + 1;
                    row = sheet.createRow(vals);
                    for (int i = 1; i <= cols; i++) {
                        row.createCell((int)i -
                                       1).setCellValue(result.getString(rsmd.getColumnName(i)));
                FileOutputStream fileOut = new FileOutputStream(filename);         
                hwb.write(fileOut);
                fileOut.close();
                System.out.println("done");
                System.out.println("Your excel file has been generated!");
                Process proc =
                    Runtime.getRuntime().exec(" cmd /c start " + filename );
                HashMap map = new HashMap();
      val="done";         
                return map;
            } catch (Exception ex) {
                // TODO: Add catch code
                val=new String(ex.getMessage());
            finally {
                    System.out.print(val);
            return null;

  • Increase Heap Space on Oracle UCM 10g

    Hey everyone,
    I need to increase the heap space for my UCM, but I have no idea how to do it. I thought I had to edit intradoc.cfg, but there are no memory properties even in that file.
    Any help with this would be awesome.
    Thanks!

    Hi,
    Yes, it indeed goes to intradoc.cfg
    JAVA_MAX_HEAP_SIZE=[Size in megabytes]
    Restart the CS post this.

  • Dbca errors out with java.lang.OutOfMemoryError: Java heap space

    hi gurus
    I am trying to use DBCA to create a 10.2.0.4 database on a HP platform.DBCA hangs at the step 6 and following message can be seen in the
    trace.log:
    java.lang.OutOfMemoryError: Java heap space
    I googled and modified the DBCA scripts content from
    # Run DBCA
    $JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx128m
    -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
    to
    # Run DBCA
    $JRE_DIR/bin/java -Dsun.java2d.font.DisableAlgorithmicStyles=true -DORACLE_HOME=$OH -DDISPLAY=$DISPLAY -DJDBC_PROTOCOL=thin -mx256m
    -classpath $CLASSPATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS
    and rerun the DBCA and the problem still there.
    How to solve this problem?
    Thanks !
    Edited by: KevinMao on Mar 31, 2010 2:39 AM
    Edited by: KevinMao on Mar 31, 2010 2:42 AM

    hi gurus
    The problem has sovled.I supplyed the wrong file for the rawfile.conf,everything was fine after I provided the corrent one.
    Thanks for your time.

  • Array Index out of bound exception

    public Name[] getName() {
              Name[] retVal = new Name[0];
              retVal[0] = this.getNameInstance();
              return retVal;
         public void setName(Name[] theName) {
              theName[0]=this.getNameInstance();
         private Name myNameInstance = new Name();
         public void setNameInstance(Name theNameInstance) {
              if(isValidName(theNameInstance)){
              myNameInstance = theNameInstance;
         public Name getNameInstance() {
              return myNameInstance;
         }I am getting an array Index out of bound eception in the method setName, Can any one tell me where I am doing wrong?

    The array passed in must be empty. I suggest using the debugger for problems like these. If you don't know how to use the debugger, here's a start:
    (Assuming you have a debugger, any IDE you'd be using will)
    1. Set a breakpoint on or before your line of question. In this case, place it on the line of code in your setName() method. Set a breakpoint by either right clicking on that line and selecting "Add breakpoint," or simply click on the far left side of the editor window, right next to the line number. Either way, a little dot will appear to mark the breakpoint.
    2. Execute your code in Debug mode rather than release mode. This might mean clicking on the little bug-looking icon "Debug" rather than "Run."
    3. Your code will execute and you'll enter the debug perspective when that breakpoint is reached. There, in the variables window, you'll see your array and any information about it, particularly its size and contents.

  • Array out of bounds Exception

    this code :
      public void clearAroundTile (int row, int col) {
            //Checks if a tile is visited, has a hint and hintvalue == adjacent flagged tiles
           if(tiles[row][col].isVisited() && tiles[row][col].isHint() && tiles[row][col].getHint()<= getNumFlagsAround(tiles[row][col])){
             if(!tileAt(tiles[row][col], Direction.N).isFlagged()){
                 visitTile(tileAt(tiles[row][col], Direction.N));
             if(!tileAt(tiles[row][col], Direction.NE).isFlagged()){
                 visitTile(tileAt(tiles[row][col], Direction.NE));
             if(!tileAt(tiles[row][col], Direction.E).isFlagged()){
                 visitTile(tileAt(tiles[row][col], Direction.E));visits all the tiles on a board, around a base tile, now the problem is that sometimes, when if checks aorund a tile that is near the edge of a board i get an out of bounds exeption, i know why this happens, but i dont know what type of if statments i should use to correct it, i was thinking.. do if(row-1)>0) then it does not go out of the board, but then how would i do it for the edge of the board that does not relate to zero? any ideas.
    thanks

      if(row > 0 && tiles[row][col].isBlank()  )
                if(!tiles[row-1][col].isVisited()){
                    clearAroundTile(row-1, col);
                    visitTile(tileAt(tiles[row][col], Direction.N));
            if(row -1 > 0 && col + 1 < cols && tiles[row][col].isBlank()  )
                if(!tiles[row-1][col+1].isVisited()){
                    clearAroundTile(row-1, col+1);
                    visitTile(tileAt(tiles[row][col], Direction.NE));
                }i am using this to automatically clear the tiles that are blank, that is only for 2 directions, i did it for all, and for some reason i keep getting a stack overflow, damn

  • Index out of Bounds Exception in for loop.

    Occasionaly with the code below, i get an index out of bounds error, index 1, size 1, however the for loop should ensure that it never calls the getActorLocation method if the index is the same size as the arrayList size.
    Im having one of those days, and i just cant see what error i have made.
    Perhaps i need coffee? lol
    Cheers
    James
    private void checkMemoryIntegrity(){
            Actor actor = actorList.get(actorIndex);
            ArrayList<Integer> inRangeList = getActorsInMemoryRange(actor, actor.getRange());
            inRangeList.trimToSize();
            for (int i = 0; i < inRangeList.size();i++){
                if (inRangeList.size() != 0){
                    actor = brainState.getActorLocation(i); //<<<<<<<<< problem line
                    if (!actorList.contains(actor)){
                        brainState.actorLocations.remove(i);
    public ArrayList <Integer> getActorsInMemoryRange(Actor actor, int range){
            int i = 0;
            int x = actor.getX();
            int y = actor.getY();
            ArrayList <Integer> inRangeList = new ArrayList <Integer> ();
            Actor compActor;
            while (i< brainState.actorLocations.size())
                compActor = brainState.getActorLocation(i);
                int xDist = x - compActor.getX();
                if ( (xDist >= (-1) * range) && (xDist <= range) ){
                    int yDist = y - compActor.getY();
                    if ( (yDist >= (-1) * range) && (yDist <= range) ){
                        inRangeList.add(i);
                i++;
            return inRangeList;
        }

    I was thinking it might be easier to do it this way:
    Iterator<Actor> i = actorLocations.iterator();
    while(i.hasNext())
        if (!actorList.contains(i.next())) {
            i.remove();
    }It sounds like you have an equals() method which compares the x and y locations of the actor. If not then you will have to enclose the remove in an if block which compares the actor location. Does that make sense?
    Edit: contains uses the equals method.
    Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that
    (o==null ? e==null : o.equals(e)).Edited by: Edward_Kimber on May 23, 2008 11:43 AM

  • Why am i getting an index out of bounds exception

    I just want to read some bytes at the end of an mp3 file.
    File file = new File(fd.getDirectory() + File.separator + fd.getFile());
                try {
                     FileInputStream fileInputStream = new FileInputStream(file);
                     byte[] fileSnippet = new byte[100];
                     int startPosition = (int)file.length() - 500;
                     fileInputStream.read(fileSnippet, startPosition, 100);

    fileInputStream.read(fileSnippet, startPosition, 100);This does not tell it to seek (hint, hint) to startPosition and read 100 bytes. It is telling it to read from the current position into the buffer starting at index "startPosition" in that buffer. If startPosition is >= 100, then that's clearly out of bounds.

  • Array Out of Bounds Exception. Where?

    Hello,
    I am developing an application using Visual Cafe 3.0. The application access a file every minute to read a new line and show data in a MultiList. First the code reads the header of the file to get all options, and then reads a new line avery minute to get results for that options.
    It is something like this:
    Option1, option2, option3,...
    1234, 45, 0, ...
    532, 23, 2, ...
    and so on...
    Code is quite large, and I call a method which is generating the exception (java.lang.ArrayOutofBoundsException). Exception is reached after a random number of calls to that method each time.
    I have some variables declared in the method and some other declared outside of that method because I use them in other part of the code.
    I catch the exception in the method which calls this method (outside following code)
    Here is the method that is failing.
    Please can anyone see where is the code reaching that exception?
    //These are variables used outside the method
    String[] lista_op = new String[100];
    boolean[] lista_bo = new boolean[100];
    String[] lista_va = new String[100];
    int n_opciones = 0;
    int lon = 0;
    char[] resultados;
    //And this is the method
    //Basically I pass a line of text to the method and the length (actually I am not using that variable and some others)
    //Length of all arrays is 100, but number of used items is about 50
         public void results(char[] resultados, int lon)
             int opciones = 0;
             int i = 0;
             int j = 0;
             int n = 0;
             int c = 0;
             int b = 0;
             int z = 0;
             int datoentero = 0;
             int datoanterior = 0;
             char coma = ',';
             String dato = "";
             String vacio = "";
             String datoantes = "";
             String cadena1 = "";
             String cadena2 = "";
             //int[] pos = new int[100];
              multilista.adjustHeadings();
                  //Bucle de busqueda de opciones seleccionadas y
                  //extraccion de datos
                  while (c < n_opciones){
                      if (lista_bo[c] == false){
                          lista_va[b] = lista_op[c];
                          //pos[b] = c;
                          n = c + 3;
                          // Bucle de busqueda de resultados
                          for ( j = 0; i < n; j++){
                              if (resultados[j] == coma){
                                  i++;
                          i = 0;
                          while (resultados[j] != coma){
                              dato = dato + resultados[j];
                              j++;
                          // Fin de bucle de busqueda de resultados
                          cadena1 = lista_va;
              datoentero = Integer.parseInt(dato);
              //textArea1.append(" " + datoentero);
              while (z < Lista_seleccion.getItemCount()){
              cadena2 = Lista_seleccion.getItem(z);
              if (cadena1.equals(cadena2)){
              datoantes = multilista.getCellText(z, 1);
              if (!datoantes.equals(vacio)){
              //textArea1.append("&" + datoantes + "&");
              datoanterior = Integer.parseInt(datoantes);
              datoentero = datoentero + datoanterior;
              multilista.addTextCell(z, 1, Integer.toString(datoentero));
              //grafica(datoentero, z);
              //notificar(datoentero, z);
              z++;
              z = 0;
                   //textArea1.append(" " + dato + " " + c + " " + n);
              b++;
              c++;
              dato = "";
              //Fin de bucle de busqueda de opciones seleccionadas
                   opciones = Lista_seleccion.getItemCount();
                   while (i < opciones){
                   multilista.addTextCell(i, 0, Lista_seleccion.getItem(i));
                   i++;

    The piece of code I showed before works for me when I do
    System.out.println(sw.toString());
    I haven't tried to append it to a text area, but if you say it gives you problem you could try with this:
    // .. keeping the first 3 lines of my previos code
    StringTokenizer st = new StringTokenizer(sw.toString());
    while (st.hasMoreTokens()) {
      textArea.append(st.nextToken());
      textArea.append("\n"); // newline
    }

  • Out OF Bounds Exception need help

    I am trying to learn how to catch exceptions. I can not see what I am doing wrong. Can someone show me and explain what I am doing wrong. I am taking in Military Time and will convert it to a 12 hour clock. I am testing it as I go so I have not finished adding code. The bad code is marked with // <== StringIndexOutOfBoundsException. Thank You in advance for the help.
    public class TimeFormat
    public TimeFormat()
    public static void main(String[] args)
    double amtt;
    char ans = 'n';
    String time1 = "00:00";
    String min1 = " ";
    int hh = 0;
    int mm = 0;
    String dd = " ";
    System.out.println("This program will convert 24 hour time into 12 hour time");
    do
    try
    System.out.println("Enter a time in military format: (ex. 14:00)");
    time1 = SavitchIn.readLine();
    hh = Integer.parseInt(time1.substring( 0, 2));
    String amPm = "PM";
    if (hh <= 12)
    amPm = "AM";
    dd = time1.substring( 2, 1); // <== StringIndexOutOfBoundsException
    mm = Integer.parseInt(time1.substring( 3, 2));
    int t1 = Integer.parseInt(time1);
    min1 = time1.substring(3, 3);
    if (t1 < 0 || t1 > 2459)
    throw new Exception ("Exception: Bad Input, must be between 0 and 2459");
    catch(Exception e)
    System.out.println("e.getMessage()");
    System.out.println("Time must be between 0 and 2499");
    System.out.println("\n\nWould you like to do it again? (y/n) : ");
    ans= SavitchIn.readLineNonwhiteChar();
    }while ((ans == 'y') || (ans == 'y'));

    import java.awt.*;
    import java.io.*;
    import java.text.*;
    public class texas {
      int hours, minutes;
      String AM_PM = " am";
      public texas() {
        try {
          BufferedReader br = new BufferedReader(
                              new InputStreamReader( System.in ));
          System.out.print("\nEnter a 24-hour time (\"##:##\"): ");
          System.out.flush();
          String s = br.readLine();
          if(s.indexOf(":") == -1) {
            System.out.println("Invalid entry - separate hours " +
                               "and minutes with \":\"");
            return;
          String[] sarray = s.split(":");
          hours   = Integer.parseInt(sarray[0]);
          minutes = Integer.parseInt(sarray[1]);
        } catch(IOException ioe) {
          System.out.println(ioe.toString());
          return;
        } catch(NumberFormatException nfe) {
          System.out.println(nfe.toString());
          return;
        } catch(ArrayIndexOutOfBoundsException aioobe) {
          System.out.println(aioobe.toString());
          return;
        if(hours < 0 || hours > 24) {
          System.out.println("Invalid input - hours must be between 0 and 24");
          return;
        if(minutes < 0 || minutes > 59) {
          System.out.println("Invalid input - minutes must be between 0 and 59");
          return;
        if(hours > 12) {
          hours -= 12;
          AM_PM = " pm";
        if(hours == 12 && minutes >= 0)
          AM_PM = " pm";
        String minutes12 = String.valueOf(minutes);
        if(minutes12.length() < 2)
          minutes12 = "0" + minutes12;
        String time = String.valueOf(hours) + ":" + minutes12 + AM_PM;
        System.out.println("12-hour time is: " + time);
      public static void main(String[] args) {
        new texas();
    }

  • Throwing index out of bound exception- please explain to fix the error

    import java.util.StringTokenizer;
    import java.lang.String;
    public class tokenize
              String s="I have learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel. ";
              String s1="Nature always wears the colors of the spirit.";
                        public void noofwords()
                             StringTokenizer str= new StringTokenizer(s," ");
    StringTokenizer str1= new StringTokenizer(s1," ");
                             System.out.println("the no of words in the string s is: "+str.countTokens()+" and the number of words in s1 is: "+str1.countTokens);
                        public void nooflines()
                             StringTokenizer str2= new StringTokenizer(s1,".,?");
                             StringTokenizer str3 = new StringTokenizer(s,".,?");
                             System.out.println("the number of lines in string s is: "+str3.countTokens()+" "+"and number of lines in the string s1 is: "+str2.countTokens());
                        public void noofchars()
                             System.out.println("no of characters in string s is: "+s.length()+ " " +"and the number of lines in the string s1 is : "+s1.length());
                        public void noofvowels()
                             StringTokenizer str4 = new StringTokenizer(s," ");
                             String strpackets;
                             int count =0;
                             if(str4.hasMoreElements())
                                  strpackets= str4.nextToken();
                                  for( int a=0;a<=strpackets.length();a++)
                                       char c= strpackets.charAt(a);
                                            if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'||c=='A'||c=='E'||c=='I'||c=='O'||c=='U')
                                                 count++;
                             System.out.println("the number of vowels in the sring s is: "+count);
         public static void main(String[] args)throws StringIndexOutOfBoundsException
              tokenize tze = new tokenize();
              tze.noofwords();
              tze.noofchars();
              tze.nooflines();
              tze.noofvowels();
    Edited by: 881507 on Sep 10, 2012 9:46 PM

    Provide the exception stacktrace.
    Post your code inside the code tag.
    881507 wrote:
    public class tokenize Follow the convention to writing a class.
    public class Tokenize 881507 wrote:System.out.println("the no of words in the string s is: "str.countTokens()" and the number of words in s1 is: "+str1.countTokens);is this compiled?
    881507 wrote:
    char c= strpackets.charAt(a);this is the point which throw the exception.
    It should be
    for( int a=0;a<strpackets.length();a++)

Maybe you are looking for

  • How do I get a program to start up when I turn my computer on?

    You know how in the dock, there's a little triangle under a program that's technically running even if you don't have a window open? Dashboard and Finder always have that triangle after start up. How do I get another program, like Safari to "start up

  • Sender Agreement Determination Error

    Hi Experts, I am getting an error while posting my message from RWB. the error details is below. Error While Sending Message: 500 Error during Sender Agreement Determination It is a HTTP to IDOC scenario so no need to determine the sender comm channe

  • Why can't I get the Amber update?

    Why amber update isn't available for me... My phone 520 ... and I am living in Iran... Moderator's note: We amended the title of this post as we moved it to the appropriate board.

  • Transmission-cli webui startup delay - transmission-cli 2.82-1 - x64

    For some reason there is a ~2 minute and 15 second delay minute delay when I start transmission before the webui becomes available.  Here's the output of systemctl status transmission -l: transmission.service - Transmission BitTorrent Daemon Loaded:

  • IPSEC Support in 6500 Code?

    Guys does anyone know if the most recent 12.2 IOS code for the 6500 (sup 720) is capable of doing IPSEC VPN's without the VPN module? I can't seem to find a definitive answer to this on the website. Thanks!