FileConnection help

Hello!

I'm doing a photo gallery that I have in the folder img/photos/in the project resource.

To do this, I need to read the directory and a list of the files inside, and then, successively, to get an image file and resize and print.

But I have the problem doing a FileConnection of the resource... I tried so many ways... but no one worked for me...

I tried:

Conexion FileConnection = Connector.open("file:///img/photos") (FileConnection);

Conexion FileConnection = (FileConnection) Connector.open ("file://img/photos");

Conexion FileConnection = Connector.open("file:///img/photos") (FileConnection);

Conexion FileConnection = Connector.open("file:///store/img/photos") (FileConnection);

etc... and everyone returns a NullPointerException.

I bend the path have the resource...

Thank you

Albert

Sorry that I misunderstood your question.

The files that are included in project resources cannot be read using the FileConnection API.  If you want to display a list of the included resource files, you have to do it manually.  To "read" each file, you can use Bitmap.getBitmapResource, but there is no way that I'm aware of have a program to get the list of files that are included.

As you add these files to the project, in any case, you can add them to a list that you maintain too.

Tags: BlackBerry Developers

Similar Questions

  • IOException, while opening a Fileconnection

    Hi all

    I'm trying to show all of the pictures in my camera in my application. What I did is:

    (1) FileConnection created

    (2) explore the desired directory, now I found the name of all the images in this directory.

    (3) recover the Bitmaps 1 by 1 image by using their names-

      public Bitmap getNextImage() throws Exception {
             Bitmap nextImage = null;
    
             if (_files != null && _index < _files.length) {
                       nextImage = readBitmapFromFile(_files[_index]);
                       _index++;
             }
    
            return nextImage;
      }
    private Bitmap readBitmapFromFile(String filename) throws IOException {        Bitmap bitmap = null;        byte[] data;        if (filename != null) {            FileConnection file = (FileConnection) Connector.open(filename, Connector.READ);            int fileSize = (int) file.fileSize();            if (fileSize > 0) {                data = new byte[fileSize];                InputStream input = file.openInputStream();                                                      input.read(data);            Thread.yield();
    
                EncodedImage image = EncodedImage.createEncodedImage(data, 0, data.length);                    bitmap = image.getBitmap();                    input.close();            }                file.close();           }     return bitmap;}
    

    I get all the images successfully, but the line above in green color is to throw an IOexception.

    Help, please.

    Its solved now.  What I did - I just change the code in the try-catch-finally block.

    Thank you all.

  • FileConnection leak

    Hi, expert,

    I think that there are a few FileConnection flee to my code (doesn't have to call a close on this method), Marvel just to the following questions about this:

    1. If there is leak memory during the execution of the process, once the process is stopped, the operating system must be able to claim the FileConnection, right?  I think about C + c++ / C is like that, unless I'm missing sth here.

    2. I have a few leaks FileConnection every 4 hours, but my application may work for a while (several days) without any problem. If it leads to thinking that if garbage would help the BONES to recover the FileConnection as well. Are there such opportunities?

    Thanks in advance for your understanding on this.

    (1) Yes

    (2) I believe that the garbage collector would effectively close the connection when he sees, there is no valid references to the fileconnection special within the application and removes the object from memory. It is difficult to predict the exact behavior of the garbage collector, however. In most cases, the garbage collector does not clean until the system needs memory. I saw connections persist even after the reference that them has been withdrawn, so I wouldn't say that you can rely on the GC to clean your fileconnections in due course.

    Scott

  • URGENT::opening multiple files - i have 3 files in my directory... When I run the code I can open a file and read it... but the while loop get blocked after the first iteration... can someone me help or give some indications

    bbmChatDB of public database;

    public static FileConnection fconnRead = null;
    public static String fileReadData = "";
    public static InputStream is = null;
    data Byte [] = null;
    DataInputStream is = null;

    Here is my code...

    I have 3 files in my directory... When I run the code I can open a file and read it... but the while loop get blocked after the first iteration... can someone me help or give some indications

    try {}

    FileConnection fc = Connector.open("file:///store/home/user/documents/BSM/") (FileConnection); "

    If (fc.exists ()) {}

    Enumeration e = fc.list ();

    While (e.hasMoreElements ()) {}

    System.out.println ("files are:" + (String) e.nextElement ());

    play this file
    StringBuffer stringBuff = new StringBuffer();
    try {}
    System.out.println ("opening file")-;
    System.out.println ("file name is:" + (String) e.nextElement ());
    fconnRead = Connector.open("file:///store/home/user/documents/BSM/(String)e.nextElement(),Connector.READ_WRITE) (FileConnection);
    System.out.println ("data length")-;
    If (fconnRead.exists ()) {}
    is = fconnRead.openDataInputStream ();
    data = IOUtilities.streamToBytes (is);
    Ddd = new String string (data);
    fileReadData = ddd.toString ();
    System.out.println ("length of data:" + fileReadData.length ());
    System.out.println ("read data :" + fileReadData);

    }

    } catch (IOException ee) {}
    ee.printStackTrace ();
    System.out.println ("Exception in the read data :")
    + ee.getMessage ());
    }

    }
    }

    } catch (IOException e) {}

    e.printStackTrace ();
    }

    {Finally

    try {}
    If (is! = null) {}
    is. Close();
    }
    System.out.println ("is closed...");
    } catch (IOException e1) {}

    E1. PrintStackTrace();
    }

    If (fconnRead! = null) {}
    try {}
    fconnRead.close ();
    } catch (Exception e) {}
    System.out.println (try ());
    }

    }

    }

    You can recode this treatment so that it uses only:

    e.nextElement ())

    Once a loop iteration.

    Directly at the start saying something like:

    String fileName = e.nextElement ());

    and use fileName everywhere in your loop.

    Also be aware that printStackTrace() will do nothing in your situation, it only works if you catch Throwable.  So make sure you something output all your catches exception and also have a catch (Throwable t) to catch the things you miss, as follows:

    {} catch (Throwable t)

    t.printStackTrace ();

    System.out.println ("Eception exception:" + t.toString ());

    }

    I think your code is thrown an exception and you don't see it.

  • problem using the FileConnection API (JSR 75) in an application for Blackberry "BOLD" MIDLET

    Hello

    I developed a MIDLET which is to read files and store the contents of files in arrays. I could make using the FileConnection API in J2ME (Java ME) and it works very well in mobile emulators provided by Sun, Sun Kit tool 2.5.1 wireless and Sprint Wireless tool 3.3.2 Kit. I have been using netbeans IDE 6.8 for this.

    Now, here's the deal. Playback of the files does not work when in one of the Blackberry mobile emulators. I tried to install all versions of Blackberry JDE 4.2.1 to 5.0 and test the same thing, but none of them worked.  After reading that the Blackberry plugin for Eclipse is good, I used it to find that I am always faced with the problem.

    I desperately need help. Can someone help me do the reading work file in a Blackberry emulator? I insert the code that makes the file reading. It reads a file containing a single column of 60 entries, and stores it in an array of double type.

    Vector time = new Vector();
    
    try{
    
     FileConnection filecon = (FileConnection) Connector.open("file:///" +"SDCard/BlackBerry/documents/"+"timescale.dat");
    
     if(!filecon.exists()) {    Dialog.show("Note ! ", "File doesn't exists !", "okay","cancel"); }
    
         StringBuffer sb = new StringBuffer();      try      {       InputStream in = filecon.openInputStream();       int chars;
    
           while ((chars = in.read()) != -1)// read until EOF is reached       {          if(chars == '\n') // read all characters until the end of line is reached          {              time.addElement(sb.toString().trim()); // stores all the characters as a vector element when the end of line is reached
    
                  sb.delete(0,sb.length());// clear the stringbuffer for storing the next line of the file
    
              }
    
              else          {              sb.append((char)chars); // appends each character read          }
    
          }// end of while
    
        }    catch(IOException e)    {               }
    
        filecon.close();
    
    }// end of outer try
    
       int i =0;   Enumeration etime = time.elements();
    
       while(etime.hasMoreElements() && i < 60) // timescale.dat has 60 entries in one column   {       time_1d[i]=Double.parseDouble(etime.nextElement().toString());// convert to double       i++;   }
    

    Can you elaborate on what does not work?  Is an error or exception thrown?  If Yes, what is it and what line of code triggers it?

    You have configured the BlackBerry smartphone Simulator to simulate a micro SD card?

    Use a computer filesystem in the form of microSD card

    http://supportforums.BlackBerry.com/T5/testing-and-deployment/use-a-computer-file-system-as-a-microS...

  • I really need professional help in the analysis of XML to the XML Document, or I want to read XML

    Hi all

    I'm really looking for your sweet help. I have suffered for two days. I'm working on Blackberry java app. I have the xml file is located in "file:///store/home/user/myNotes.xml".

    I want to be able to parse the XML into XMLDocument to confront the NodeList and ChildNode.

    I always get Eception Exception RunTimeError

    NOTE the following prayer:

    1 - my JDK is 1.7.0.5.5 (SE) only

    2. I don't have "XMLSerializer" or "Transformer", or "TransformerFactory', 'KXML.

    3. all I want is just to be able to read XML above and analyzed to XMLDocument.

    Find my Java code below:

    =====================================================================================

    Private Sub parseXmlFile() raises {RuntimeException
    try {}

    XMLDocument DOM = null;
    private static final String fileN = "file:///store/home/user/myNotes.xml";
    FileConnection fc = (FileConnection) Connector.open (fileN);
    fc.openDataInputStream ();
    DocumentBuilderFactory plant = DocumentBuilderFactory.newInstance ();
    DocumentBuilder builder = factory.newDocumentBuilder ();
    InputStream is = getClass () .getResourceAsStream (fileN);
    DOM = builder.parse (is);
        
    } catch (Exception pce) {}
    Dialog.Alert (PCE. ToString());
    }
            
    }

    ======================================================================

    End of my Code

    Thank you very much for your time of reading and you answer to help me.

    I appreciate really.

    Dear all,

    Hello and thank you from the bottom of my heart. This works. My problem was absent "normalization."

    Thank you once again I ng3epa enjoyed your valuable contribution.

  • Need help - bad, I tried

    Hello

    Like many others, I also want to open the pictures folder and retrieve the names of files in it. I had alook at fileExplorerDemo and other discussions on the site.  With help, I started with this code:

      private void seeFiles() {
            javax.microedition.io.file.FileConnection fc = null;
    
            try
            {
                System.out.println("Reading file System **************");
                String str;
                fc = (javax.microedition.io.file.FileConnection)javax.microedition.io.Connector.open(System.getProperty("file:///store/"), javax.microedition.io.Connector.READ_WRITE);
                java.util.Enumeration lists = fc.list();
                while (lists.hasMoreElements()) {
                    str = (String) lists.nextElement();
                    System.out.println(str);
                }
                System.out.println("Finished File System ******************");
            }
            catch (Exception ex)
            {
                Dialog.alert("Excep : " + ex.toString());
            }
        }
    

    I tried many ways, but always make Exception. From the code above as I get IllegalException null. I'm blocked up with this evil. Can someone help me please.

    Kind regards

    If you look at the documentation for:

    EncodedImage.getEncodedImageResource (...)

    You'll see that she's waiting for a resource that is in your cod, in other words a resource that you have added to your project.

    The file on the SD card is not in your application, that's why you get the error:

    CAFETERIA: could not find file:///store/samples/pictures/Fairway.png

    If you cannot use this approach.

    Instead, one must read the file from the SD card in a byte array and then use

    EncodedImage.createEncodedImage (.)

  • Problem with OPenInputStream and FileConnection

    I've already checked all the directory in Blackberry using FileConnection and filter all jpg and png files and store them in vector.

    When I show them use dialogue, the spectacle of the Directory dialog box all I need and it's true.

    Here is my code:

    int length = imageName.size ();
    If (imageName.size () > 0) {}
    try {}
    for (cnt int = 0; cnt)< length;="" cnt++)="">
    FileConnection fc = Connector.open (imageName.elementAt (cnt) m:System.NET.SocketAddress.ToString (()) (FileConnection);
    InputStream is = null;
    If (fc.exists ()) {}
    InputStream input = fc.openInputStream ();
    ByteArrayOutputStream Baos = new ByteArrayOutputStream();
    int j = 0;
    While ((j = input.read ())! = - 1) {}
    Baos.Write (j);
    }
    data Byte [] = baos.toByteArray ();
                           
    Input.Close ();
    FC. Close();
    IMG [cnt] = Image.createImage (data, 0, data.length) .scaled (60, 45);
    addComponent (img [cnt], null, null, null);
    } else {}
    Utilities.showDialog ("info", "the file is connection does not exist");
    }
    }

    } catch (Exception e) {}
    Utilities.showDialog ("info", "error:" + e.getMessage ());
    }

    imageName is a vector variable to contain all the images in the directory. I followed one by one, but when " InputStream input = fc.openInputStream ();" always returns null.

    My code works well in Simulator 8310 but when I test it on the device real inputstream always return a null value.

    and I signed my application before I install it in the real device... I have no idea with my prob. Please help me...

    Best regards

    ASRI Dwitiya

    Make sure you set the permissions to ALLOW for your application and your application attempts to read images that are stored in the folder 'user '.

  • FileConnection problem

    System.out.println("In read file data: reading file"+filePath);
                    FileConnection fc = null;
                    InputStream fis = null;
                    byte fileData[] = null;
                    try{
                        fc = (FileConnection) Connector.open(filePath, Connector.READ);
                        System.out.println("Opening file connection - 1");
                        if(fc.exists()){
                            //read only if the file exists
                            fis = fc.openRawInputStream();
                            System.out.println("Opening file connection - 2");
                            int len = (int) fc.fileSize();
                            _modDate = fc.lastModified();
                            System.out.println("Size of file: "+len);
                            if(len == -1){
                                len = 4096;
                            }
                            fileData = new byte[len];
                            int length = fis.read(fileData, 0, len);
                            System.out.println("Opening file connection - 3");
                            if(length > 0 ){
                                System.out.println("Opening file connection - 4");
                            }
                        }
                    }catch(OutOfMemoryError error){
                        System.gc();
                        //in case of out of memory error replace with dummyImage
                        System.out.println("Out of Memory Exception in creating Image: "+error.getMessage());
                    }catch(Exception e){
                        System.gc();
                        System.out.println("Exception in reading file data: "+e.getMessage());
                        e.printStackTrace();
                    }finally{
                        try{
                            fc.close();
                            System.out.println("FileConnection closed successfully");
                        }catch(Exception e){
                            System.out.println("Error while closing file Connection"+e.getMessage());
                        }
                    }
                 return fileData;
    

    I am trying to load 15 to 20 images at once. I am a connection file for each file - reading the file, then creating an image. But on blackberry storm 9550 Device/Simulator I have a weird situation.

    Device: after loading of 6 images it does not load the remaining images.

    Simulator: after loading 15 images 2 - 3 times it stops loading 1 image.

    I tried debugging and found that filconnection.filesize () return-1 for the first image, after which it stops to load subsequent images. Please refer to the above code.

    My debugging logs is:

    iCount: 1 loadingIndex: 19

    Called paint function

    In the data file reading: reading filefile:///store/home/user/pictures/IMG00003-20100625-0831.jpg

    The name of the file loading: file:///store/home/user/pictures/IMG00002-20100625-0831.jpg

    Files opened - 1 connection

    Connection files opening - 2

    In the data file reading: reading filefile:///store/home/user/pictures/IMG00002-20100625-0831.jpg

    Files opened - 1 connection

    FileConnection closed successfully

    Loading default filedata null Image

    File size:-1

    Files opened - 3 connection

    Files opened - 4 connection

    FileConnection closed successfully

    iCount: loadingIndex 2:20

    The name of the file loading: file:///store/home/user/pictures/village.jpg

    Loading default filedata null Image

    In the data file reading: reading filefile:///store/home/user/pictures/village.jpg

    Files opened - 1 connection

    FileConnection closed successfully

    As you can see for loadingindex 20 he treats the file as if it does not exist.

    Help, please.

    @geeneeus-

    From my experience, fileSize() works correctly without anything read, or even open any watercourse. In fact, he is supposed to report that the size of the file without taking into account how much has been read. (He will miss all the data that has been written to an output stream but not emptied.) However, which does apply here.) It only returns-1 if the file does not exist or is not accessible.

    @dodgeviper-

    The main problem with the code, it is the input stream are not closed, so the connections remain open and the application runs on the file handles.

    The newspaper, it seems that this code is called simultaneously on multiple threads. (I see two 'opening file connection - 1' before the first 'file connection fermΘe with success'.) This probably isn't a problem in itself, although it may cause the connection limit to be affected, even after the code is changed to close the stream. Be sure to limit the number of threads simultaneously calling this code.

    There are several other problems with the code. I would like to change it:

    if (len == -1) {    len = 4096;}
    

    TO:

    if (len == -1) {    throw new Exception("File " + filePath + " not available.");}
    

    If fileSize() (or rawFileSize()) returns-1, you do not have to be anything reading this file.

    Copy the following code:

    int length = fis.read(fileData, 0, len);
    

    is not correct. Even if 'len' bytes are available, a single call to read() is not guaranteed to read that many bytes. It must be replaced by something like:

    int length = 0;int read;while ((read = fis.read(fileData, length, len - length) != -1 && length < len) {    length += read;}
    

    (Not very elegant, but I am writing this late at night.)

    In addition, as sonicboomboy says, you must use fc.openInputStream () and fc.fileSize () instead of fc.openRawInputStream () and fc.rawFileSize (). Unless (a) your files are encrypted and (b) that you are trying to transfer the entire file without decryption, the first methods are not suitable. They are certainly not the way to get the decoded image data.

    Finally, eliminate the OutOfMemoryException catches. The system.GC() call at that time is always futile. The jvm throws this exception until he has already run the gc to try to save the situation. Unless your application can immediately free up a lot of memory (by emptying a cache in memory, say), then it is wildly optimistic to think that a lot of other useful is going to happen inside your application at this time. The only thing you can do is prepare for an abnormal exit (and not much use preparation of memory, either!)

  • Help with some internal specs on the STORM. May require a person who works at the RIM.

    BB STORM, JDE 4.7.0

    I was usually the champion of the size of the memory, and I thought I got it down pat, but it turns out that I see different values in some disassembly of the hardware of the storm.

    Can someone help me to y and the degradation of persistent memory Vs file in the permanent internal flash storage area.

    OK, here's what I thought, it was internal so far.

    1 internal 128 MB of RAM for running the show, allocation of memory, etc, etc...

    2. 1 g internal Samsung OneNAND flash memory. It is divided into 128M of space of the App and 872 M of storage space.

    The storage space is divided into persistent storage and the rest is an internal file system.

    3. Finally, there is 8GBits of the space of the SD card.

    OK, here's my new questions on memory.

    In 2 above, is the 1 G bytes or Bits. I used to think bytes, but teardowns latest I read all say Bits. If so, it means that we have memory app 16MBytes! So the question is byte or bit?

    The next question is the 872M (bits or bytes)... How is burglarized persistent store file Vs space. Is it preallocated or no change of line based on what he gets used? If it is fixed, can the line be forced to the persistent store. Can it be forced into space from the SD card?

    Finally, is again the SD card in bytes or Bits? I suspect the pieces, but I don't know about you. I don't know what MoviNAND.

    Note that if you are new to this, please don't answer, I'm not new, and I went through all the usual web sites. I just want to hear from those who know with certainty because they actually measured it with a code or they talked to someone on the EDGE. I heard all the 'I think there' and they do me good. I actually send you this email to myself and several other people. Many of us need answers to these questions.

    Thank you

    -Donald

    The BlackBerry Storm has the following:

    • 128 MB of RAM
    • 128 MB of Flash memory for installation of the application (file COD) and store persistent store.
    • 1 GB internal memory for storing files (FileConnection & USB stick as support).
    • Support for micro SD card up to 32 GB * of size for the storage of additional files (FileConnection & USB stick as support).

    All values are in bytes, not horseshoes.  It is not possible to install applications on memory storage of files, nor is it possible to store persistent objects in the file storage space.

  • Block pls file help :(

    Hello!

    I'm trying to solve this but I can not...

    I have download the xml on the SD card files can run content offline, everything works fine, the problem her.

    1. download the xml file.

    2. read and display data. Close all connections to file.

    3. I try to refresh the data. (Download the same file but new products)

    4. the app in case of failure, the show me message that use sound file!

    I have check all connections to drop, when download and read... and nearby... all can help me?

    Whit this code I do the xml file.

    FileConnection fc = null;
                try {
                        fc = (FileConnection) Connector.open("file:///SDCard/BlackBerry/documents/busqueda.xml", Connector.READ_WRITE);
                        if (fc.exists())
                                fc.delete();
                        fc.create();
                        OutputStream os = fc.openOutputStream();
                        os.write(ht.responseDump.getBytes());
                        os.close();
                        fc.close();
    
                } catch (IOException e) {
                        e.printStackTrace();
                        System.out.println(e.toString());
                }
    

    and whit this I read.

    conn=(StreamConnection)Connector.open(XMLURL);
                  DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory. newInstance();
                  DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
                  docBuilder.isValidating();
                  doc = docBuilder.parse(conn.openInputStream());
                  doc.getDocumentElement ().normalize ();
                  NodeList listxml=doc.getElementsByTagName("Articulo");
                  _node = new String();
                  _element = new String();
    
                  for (int i=0;i			 

    I think that failure is because you not close the input stream after analysis of the XML document. Try this code:

    // ...
    
    InputStream is = conn.openInputStream();
    doc = docBuilder.parse(is); // NOT docBuilder.parse(conn.openInputStream())
    
    // ...
    
    is.close();
    conn.close();
    

    Unless you close the input stream, the file remains in use.

  • Help! adaptation of the resource to the device memory files

    Hello world!!

    I ve you have a problem in my application, I need to copy a file in the memory of the device, I tried with:

    FileConnection _fOut;

    _fOut = (FileName, Connector.READ_WRITE) Connector.open (FileConnection);

    If (!) F2. Exists())
    {
    F2. Create();
    }

    InputStream _InStream = myclass.getClass () .getResourceAsStream ("cod://myapp/myFile");

    OutputStream _OutStream = _fOut.openOutputStream ();

    Byte [] buf = new byte [1024];
    int len;
    While ((len = _InStream.read (buf)) > 0)
    {
    _OutStream.write (buf, 0, len);
    }
    _InStream.close ();
    _OutStream.close ();

    Help, please!

    Thank you

    Try with the help of your filePath as:

    Strring fileName = "file:///store/home/user/myApp/myFile.mp4";
    

    and

    InputStream _InStream = myclass.getClass().getResourceAsStream("myFile.mp4");
    

    Concerning

    Bika

  • free space for fileconnection on //store

    Hi all

    I need your help to understand the memory model of bb.

    I read a few posts incl.

    http://supportforums.BlackBerry.com/Rim/Board/message?board.ID=java_dev&message.ID=17297&query.ID=21...

    and looked at

    http://NA.BlackBerry.com/eng/deliverables/5827/BB_device_memory_447111_11.jsp

    So I thougth so I use a fileconnection somewhere on //store and check for free space with the method availableSize() of FileConnection it must return the same as net.rim.device.api.system.Memory.getFlashStats () .getFree (). But on my 9000 "BOLD", the result is different:

    [debug: file.availableSize (): 899956736] [debug: getFlashStats () .getFree (): 45640956]

    a simulator of 8800 I get:

    [debug: file.availableSize (5238698)] [debug: getFlashStats () .getFree (): 31199508]

    Can someone point me to the right direction?

    Thank you!

    PS my application is compiled with 4.2.1

    There are 2 types of memory read here.  Application (MemoryStats) memory and memory (FileConnection).  If you look at the BlackBerry Bold under Options, memory, you should see all two registered and they must match the numbers that you see.  The application memory is where applications are installed and the device memory is available for storing files (FileConnection and access as a USB storage device).

  • I have a lg 4 k tv (40 "40UH630V TV LG ULTRA HD 4 K) with HDMI 2. 0 and if I buy apple tv 4 can be used with HDMI 2. 0 port or do I HDMI 3 port to use this? Please help me

    I have a lg 4 k tv (40 "40UH630V TV LG ULTRA HD 4 K) with HDMI 2. 0 and if I buy apple tv 4 can be used with HDMI 2. 0 port or do I HDMI 3 port to use this? Please help me

    You can use it with your TV.

  • Need help to find an adapter for a third-party monitor

    Hi all! I find myself in need of a little guidance, and I hope that someone out there will have a quick n easy for me...

    I have a Mid-2011 27 'iMac. which has two ports Thunderbolt It is taken with a Wacom tablet that I use constantly, and the other is made by an external hard drive to a solid state, which has a built-in cable to Thunderbolt (no way to hang it on a different port). I also have a 27 "HP monitor that is currently connected via an HDMI USB adapter.

    The problem is that the HP monitor is actual "jiggy" - the USB does not seem fast enough to deal with requests for the monitor. It is almost unusable. I know I should run it via a HDMI adapter Thunderbolt, but as I have already mentioned the two my Thunderbolt ports are already in use.

    Someone at - it ideas? I need sort of three to two ports Thunderbolt hooks, but I can't seem to find anything for less than $300 that would work. (I am illiterate when it comes to the different cables, adapters, ports, etc., so I hope someone can point me in the right direction by using short words... Most of the products that I travel through list specifications that me Chicane).

    The monitor has two HDMIs and a VGA port, and my iMac has a Firewire 800 port, if that helps at all...

    2011 iMac have only 1 Thunderbolt port and there is no such thing as a Mid-2011, you must have an iMac of year later, if it has 2 ports Thunderbolt. All the 27 "iMacs, from 2012 to 2015 the current have 2 ports Thunderbolt.

Maybe you are looking for