Need help: loop of pl/sql with UTL_FILE reading and analysis of file text 2

Hello, I am working on a new project using the UTL_FILE utility in oracle 11 g. and I was wondering if someone could help me with a pl/sql code, I can't understand.
My goal is to open and then read a Type_de_fichier file1.txt
copy a specific paragraph of the file1.txt where
the first word in a specific line in the file1.txt starts with "foo" then when the last word in fichier1.txt ends in 'ZEN'
write to file2.txt only the analysis section in my where statement.
I don't know if it's possible, but any guidance will greatly appreciate!

My code example:

CREATE OR REPLACE PROCEDURE my_app2 IS
Utl_file.file_type inFile;
OutFile utl_file.file_type;
buffer VARCHAR2 (30000);
BEGIN
-Open a file to read
InFile: = utl_file.fopen ('TEST_DIR', 'mytst.txt', 'r');
-Opens a file for writing
OutFile: = utl_file.fopen ('TEST_DIR', "Out.txt", "w");

-Check the file is open
IF utl_file.is_open (InFile) THEN
-lines in the file in loop
LOOP
BEGIN
UTL_FILE.get_line (InFile, buffer);
-Write to out.txt
UTL_FILE.put_line (OutFile, buffer, FALSE);
UTL_FILE.fflush (outfile);

EXCEPTION
WHEN NO_DATA_FOUND THEN
EXIT;
END;
END LOOP;
END IF;
UTL_FILE.fclose (INFILE);
UTL_FILE.fclose (outfile);
EXCEPTION
WHILE OTHERS THEN
RAISE_APPLICATION_ERROR (-20099, "UTL_FILE Unknown Error");
END my_app2l;
/

Hello

According to the code should work-

CREATE OR REPLACE PROCEDURE my_app2 IS
   infile              utl_file.file_type;
   outfile             utl_file.file_type;
   buffer              VARCHAR2(30000);
   b_paragraph_started BOOLEAN := FALSE; -- flag to indicate that required paragraph is started
BEGIN
   -- open a file to read
   infile := utl_file.fopen('TEST_DIR', 'mytst.txt', 'r');
   -- open a file to write
   outfile := utl_file.fopen('TEST_DIR', 'out.txt', 'w');

   -- check file is opened
   IF utl_file.is_open(infile)
   THEN
      -- loop lines in the file
      LOOP
         BEGIN
            utl_file.get_line(infile, buffer);

            IF buffer LIKE 'foo%' OR b_paragraph_started
            THEN
               --write to out.txt
               utl_file.put_line(outfile, buffer, FALSE);
               b_paragraph_started := TRUE;
            END IF;

            IF buffer LIKE '%ZEN'
            THEN
               b_paragraph_started := FALSE;
            END IF;
            utl_file.fflush(outfile);

         EXCEPTION
            WHEN no_data_found THEN
               EXIT;
         END;
      END LOOP;
   END IF;
   utl_file.fclose(infile);
   utl_file.fclose(outfile);
EXCEPTION
   WHEN OTHERS THEN
      raise_application_error(-20099, 'Unknown UTL_FILE Error');
END my_app2l;
/

What I've done here is added a new Boolean variable. Loop in each iteration after reading one line, we check if the line starts with "foo". If yes then set the Boolean variable and writing out the startup file until we get a line that ends with "ZEN." That way even if there are several paragraphs in an input file starting with foo and ending with ZEN, then those should get copied to the output file.

Hope this helps,

-Gregory

Tags: Database

Similar Questions

  • Need help: UTL_FILE read and write in the text file

    Hello, I'm on version 11 GR 2 by using the UTL_FILE function to read a text file and then write the lines where it starts with the word "foo" and put an end to my writing in the text file where the line with the word "ZEN". Now I have several lines that begin with 'foo' and 'ZEN' allow a paragraph, and in this paragraph, there is a line that begins with "DE4.2". Therefore,.
    I need to write all of the paragraphs that include the "DE4.2" line in their beginning and end of lines 'foo' and 'ZEN '.

    FOR EXAMPLE:

    FOO/234E53LLID
    IT'S MY SECOND LINE
    IT'S MY THIRD LINE
    DE4.2 IT OF MY FOURTH LINE
    IT'S MY FIFTH LINE
    ZEN/DING3434343

    FOO/234E53LLID
    IT'S MY SECOND LINE
    IT'S MY THIRD LINE
    IT'S MY FIFTH LINE
    ZEN/DING3434343

    I'm only interested in writing the first paragraph tha includes line DE4.2 in one of the paragraph of lines not the second ther that does not include the "DE4.2".

    Here is my code so far:

    CREATE OR REPLACE PROCEDURE my_app2 IS
    Utl_file.file_type INFILE;
    outfile utl_file.file_type;
    buffer VARCHAR2 (30000);
    b_paragraph_started BOOLEAN: = FALSE; -flag to indicate which required paragraph is started

    BEGIN
    -Open a file to read
    INFILE: = utl_file.fopen ('TEST_DIR', 'mytst.txt', 'r');
    -Opens a file for writing
    outfile: = utl_file.fopen ('TEST_DIR', "Out.txt", "w");

    -Check the file is open
    IF utl_file.is_open (infile)
    THEN
    -lines in the file in loop
    LOOP
    BEGIN
    UTL_FILE.get_line (infile, buffer);
    APPLICATION STARTING POINT-
    Buffer IF LIKE 'foo %' THEN
    b_paragraph_started: = TRUE;
    END IF;
    -SEARCH FOR GRADS APPS
    IF b_paragraph_started AND buffering LIKE '% 4% ' THEN
    UTL_FILE.put_line (outfile, buffer, FALSE);
    END IF;
    -REQUEST FOR ENDPOINT
    Buffer IF LIKE '% ZEN' THEN
    b_paragraph_started: = FALSE;
    END IF;
    UTL_FILE.fflush (outfile);

    EXCEPTION
    WHEN no_data_found THEN
    EXIT;
    END;
    END LOOP;
    END IF;
    UTL_FILE.fclose (INFILE);
    UTL_FILE.fclose (outfile);
    EXCEPTION
    WHILE OTHERS THEN
    raise_application_error ("-20099, ' UTL_FILE unknown error");
    END my_app2;
    /

    When I run this code I get only one line: DE4.2 it ME LACK THE WHOLE PARAGRAPH

    PLEASE ADVISE...

    I agree with reservations of Justin on the length of a "paragraph" and the number of users that are running at the same time, so here is a version without the collections.

    CREATE or replace PROCEDURE my_app2 IS
       infile utl_file.file_type;
       outfile utl_file.file_type;
       buffer VARCHAR2(30000);
       b_paragraph_started BOOLEAN := FALSE; -- flag to indicate that required paragraph is started
       b_toprint BOOLEAN := FALSE;
       l_para_start pls_integer;  -- start of "paragraph"
    BEGIN
       infile := utl_file.fopen('TEST_DIR', 'mytst.txt', 'r');
       outfile := utl_file.fopen('TEST_DIR', 'out.txt', 'w');
       LOOP
          BEGIN
             utl_file.get_line(infile, buffer);
             IF buffer LIKE 'FOO%' THEN
                b_paragraph_started := TRUE;
                l_para_start := UTL_FILE.FGETPOS(infile) - (length(buffer) + 1);
             END IF;
             IF b_paragraph_started and buffer like '%DE4%' THEN
                b_toprint := TRUE;
             END IF;
             If buffer like 'ZEN%' THEN
                IF b_toprint THEN
                   UTL_FILE.FSEEK(infile, l_para_start);
                   utl_file.get_line(infile, buffer);
                   while buffer not like 'ZEN%' loop
                      utl_file.put_line(outfile,buffer, FALSE);
                      utl_file.get_line(infile, buffer);
                   end loop;
                   utl_file.put_line(outfile,buffer, FALSE);
                end if;
                b_paragraph_started := FALSE;
                b_toprint := false;
                utl_file.fflush(outfile);
             end if;
          EXCEPTION
             WHEN no_data_found THEN
                EXIT;
             END;
       END LOOP;
       utl_file.fclose(infile);
       utl_file.fclose(outfile);
    END my_app2;
    

    Test:

    SQL> !cat mytst.txt
    FOO/234E53LLID
    THIS IS MY SECOND LINE
    THIS IS MY THIRD LINE
    DE4.2 THIS IS MY FOURTH LINE
    THIS IS MY FIFTH LINE
    ZEN/DING3434343
    
    FOO/234E53LLID
    THIS IS MY SECOND LINE
    THIS IS MY THIRD LINE
    THIS IS MY FIFTH LINE
    ZEN/DING3434343
    
    FOO/234E53LLID again
    THIS IS MY second SECOND LINE
    THIS IS MY second THIRD LINE
    DE4.2 THIS IS MY second FOURTH LINE
    THIS IS MY second FIFTH LINE
    ZEN/DING3434343 again
    
    SQL> exec my_app2;
    
    PL/SQL procedure successfully completed.
    
    SQL> !cat out.txt
    FOO/234E53LLID
    THIS IS MY SECOND LINE
    THIS IS MY THIRD LINE
    DE4.2 THIS IS MY FOURTH LINE
    THIS IS MY FIFTH LINE
    ZEN/DING3434343
    FOO/234E53LLID again
    THIS IS MY second SECOND LINE
    THIS IS MY second THIRD LINE
    DE4.2 THIS IS MY second FOURTH LINE
    THIS IS MY second FIFTH LINE
    ZEN/DING3434343 again
    

    You may need to change the length (buffer) + 1 depending on your platform and if you want a blank line s NLE out paragraphs, add another call to put_line after that outside of the loop in the fi l_toprint block.

    John

  • Need help to reactivate Lightroom 5 with my old serial number and the number TAN.  I got a license for Lightroom 5 when I bought my Leica delux 4 in 2012.

    I got a license for Lightroom 5 when I bought my Leica delux 4 in 2012. It worked great, but after that I put an old hard drive on my PC (for 30 minutes - then I removed again) to get some information of this former, Lightroom now license application or try it for 30 days.

    I have not installed Lightroom on a new hard drive. He is always on the same hard disk. How can I now have my Lightroom to run again using my serial number and TAN? Need help to reactivate my old serial number and the number TAN.

    I use win 7.

    Duplicate thread: need help to reactivate Lightroom 5 with my old serial number and the number TAN.  I got a license for Lightroom 5 when I bought my Leica delux 4 in 2012.

  • Need help to solve the problem with the margin at the bottom of the converted pdf file.

    Need help to solve the problem with the margin of the converted CEO down. What caused the change in format?

    Hi jerrio1949,

    There is no way to change the margin, you settle back into your original file & then convert to PDF format.

    Kind regards
    Nicos

  • Need help to open two images with the same file with different exposures on the screen at the same time in the Photoshop creative cloud (in previous versions we could open two images of the same nef (raw) file and then combine them on the screen with the

    Need help to open two images with the same file with different exposures on the screen at the same time in the Photoshop creative cloud (in previous versions we could open two images of the same nef (raw) file and then combine them on the screen with the move tool. They have become a composite of two layers which could be developed further with the mask tool.

    Hello

    Please go to the preferences > workspace and uncheck the option 'open the document in the tabs '.

    Now you can click on file and choose file > open and open the two images in two different windows which can be arranged side by side.

    Thank you

  • Help, I have a problem with the PS and CC - I get and error measure in PS - "this program cannot start because ONCoreFoundation8.dll - is missing... and it crashes, and now creative cloud will not be open to all."  I spent more than 2 hours to speak to so

    Help, I have a problem with the PS and CC - I get and error measure in PS - "this program cannot start because ONCoreFoundation8.dll - is missing... and it crashes, and now creative cloud will not be open to all."  I spent more than 2 hours to speak to someone in tech support that I did not understand, and I don't know what to do next. The tech gal was run, but once she hung up he returned to broken.  I have an idea, but that's just a guess - trouble started about the time I tried to open On1 of ps there has been a perfect icon effects 9 (for some reason, they decided to add the icon when I got it - I have 8) I clicked it and it loaded the update and then asked me if I wanted to try or buy - that's when I realized that I should have clicked on 8 and tried of back , but is either too late - I think, maybe this dll. 8 or 9 in with perfect On1 effects - and it has changed my settings in PS - and is the reason why it is not compatible - ideas? I have a pc with window7-Carol

    Try to run Photoshop without loading third-party plug-in. hold SHIFT keys when you start Photoshop.  The missing module is not Adobe software.

  • Received an email from my bank with loan documents that I need to approve.  The binding uses Adobe reader, and when I click it, it says I need to download it, but I already downloaded it.

    What should I do to access the link?

    Problem: you try to open a PDF file in the browser. You would expect instead to see the PDF file you see a page (resembling a normal PDF page) - NOT a pop-up message with an OK - but with a message telling you that you must consult the document with Adobe Reader and tell you to download.

    Cause: the message is true. You must use Adobe Reader. You are using a browser that isn't using Adobe Reader.

    Solution: Download the PDF - the one with the funny message - on your desktop. So in fact open in Adobe Reader.

    Note: This is only a solution for both Mac and Windows users.

  • My document Pages when sent in PDF format opens with Acrobat Reader and displays the text pane

    Hey team

    I am a new user of recent Mac and I have some difficulty with the Pages.

    I'll create a new document and save it as a PDF file (save it to the desktop), when I open it again, it opens with Acrobat Reader and the text released along side this one pane. It does not open a document own stand alone. This cause me a problem when I want to send it as an attachment, as it includes this component, as well as all other toolbars with.

    Any help on this would be appreciated.

    SSA56,

    When you send the PDF document as an attachment, it will be sent as a document 'stand alone '. It will be open according to the preferences that are set by the receiving party.

  • Need help to solve the problem with worm:win:32 / cridex.e

    Please help me to solve this problem worm:win:32 / cridex.e

    Hello

    Scan of Malware in Safe Mode with network.

    http://www.bleepingcomputer.com/tutorials/how-to-start-Windows-in-safe-mode/#Vista

    Windows Vista

    Using the F8 method:

    1. Restart your computer.
    2. When the computer starts, you will see your computer hardware are listed. When you see this information begins to tap the F8 key repeatedly until you are presented with the Boot Options Advanced Windows Vista.
    3. Select the Safe Mode with networking with the arrow keys.
    4. Then press enter on your keyboard to start mode without failure of Vista.
    5. To start Windows, you'll be a typical logon screen. Connect to your computer and Vista goes into safe mode.
    6. Do whatever tasks you need and when you are done, reboot to return to normal mode.

    Once in Safe Mode with network, download and run RKill.

    RKill does NOT remove the malware; It stops the Malware process that gives you a chance to remove it with your security programs.

    http://www.bleepingcomputer.com/download/rkill/

    Then, download, install, update and scan your system with the free version of Malwarebytes AntiMalware in Mode safe mode with networking:

    http://www.Malwarebytes.org/products/malwarebytes_free

    See you soon.

  • Need help to understand political static with Nat No.

    Hi all

    I have a Pix 515e with 6 interfaces. 5 interfaces are considered as internal that we don't want any translation NAT occur between them. We want only NAT between the 5 and the external interface.

    I created a No_Nat ACL successfully to not manage any portion of nat.

    What I have trouble understanding is the static command to allow traffic between higher levels to lower levels and vice versa.

    I understand the

    public static inside_address outside_address (indoor, outdoor)

    for the part of NAT translation.

    What I do not understand, this is when the inside address and address outside are the same, what order are going. For example, my inner interface (192.168.1.0/24) (sec100) is where the live servers, and I have another interface named accounting (192.168.2.0/24) (sec75).

    If I don't want no nat occurs between these two, I have the following

    No_Nat of the 192.168.1.0/24 192.168.2.0/24 ip access list permit

    No_Nat of the 192.168.1.0/24 192.168.2.0/24 ip access list permit

    NAT (inside) 0-list of access No_Nat

    NAT (accounting) 0-list of access No_Nat

    Now how can I enter the static command?

    Maybe

    static (inside, accounting) 192.168.1.0 192.168.1.0 netmask 255.255.255.0

    or

    static (inside, accounting) 192.168.2.0 192.168.2.0 netmask 255.255.255.0

    or

    static (accounting, inside) 192.168.1.0 192.168.1.0 netmask 255.255.255.0

    or

    static (accounting, inside) 192.168.2.0 192.168.2.0 netmask 255.255.255.0

    I do not understand the prescription for it and why it would be used one verses the other way. Is the security level determines the order? Do I need two static command, one for each direction?

    Thank you

    Denny

    Hello denny

    static can be defined in any way... its only traffic that determines what it... for example, if accounting dmz is access to any server on your inside interface, you normally want the accounting servers see the original on its public IP server inside... so, you will end up as static

    static (inside, accounting) 192.168.1.0 192.168.1.0 netmask 255.255.255.0

    only the above static command is sufficient to establish connectivity between inside and dmz accounting. u don't need 2 static on any sense...

    Similarly, if you want to inside users to access a server on the dmz accounting, you can write a static type

    static (accounting, inside) 192.168.2.0 192.168.2.0 netmask 255.255.255.0

    hope you understand. Let us know if you need help... but normally a statement nat 0 is more than enough for the inside / dmz communication

    Kind regards

    REDA

  • Need help as soon as POSSIBLE with RAM Preview

    Hey guys I need help with my RAM Preview and how to get it back on the default setting. I don't know what happened, but now my RAM Preview is divided on two screens. I tried literally everything to solve this problem and came to nothing. Nothing on google as well. Help, please! I need to get there soon! Here's what happens: 2016-09 - 03.png - Google Drive

    This is your equal to 2 times and not the RAM Preview Composition Panel (in fact it is seen now and not the RAM Preview... you can call him Mr. Preview if you want to get fancy). knowing how to describe your problem lies at halfway to a solution

    DON'T PANIC!

    Set it to 1 view and you'll be fine!

    These views are used for 3D to show the different perspectives and views spelling of a 3D scene. When they have no use in 2D. If you clicked on the option to display 2 views or more they will appear unless you change it back manually. even when you reset your workspace, they will appear - so I understand why this can be confusing.

    more about it here: https://helpx.adobe.com/after-effects/using/modifying-using-views.html...

  • I need help creating a vector mask with an adjustable edge or fade, can anyone help?

    I need help creating a vector with an adjustable edge mask or disappear so that I can surround a hand drawn - isolate the background so that I can black out around the hand, the hand a hair above, so I can not just pen tool, can anyone help?

    hand4.jpg

    hand.jpg

    I recommend starting with a layer mask based on the green channel, edition that with the curves to get a decent contrast and then paint in the areas needed.

  • Need help to restore Iphone recycled with no password

    Hello, I received a recycled locked Iphone no password need help. Downloaded Itunes followed instructions nothing and I have no company of cells still need help. J.

    You must use a SIM card to activate the phone

    IF the phone is locked - so it must be a carrier card

    IF the carrier unlocked - any SIM card will do

    There is no need for a new SIM card

  • need help to install the printer with cd rom

    Hello, I need help to install a 3310 pphotosmart printer all in one. I don't have the cd ROM any help will be greatly appreicated.

    Thank you

    Hello

    You can download the installer for your printer using the link below.

    http://h10025.www1.HP.com/ewfrf/wc/product?product=439491&LC=en&cc=us&DLC=en&task=&lang=en&cc=us

    Choose "Software and Driver Downloads", select your operating system, open "driver-product Installation Software" and then choose the option download Installer "Full Feature".

    Kind regards

    DP - K

  • Need help to convert a sql query to a stored procedure

    I have a task to convert a script sql in a stored precedure. The sql with different pr_id test_type are below. And the stored procedure must accept a pr_id and a test_type as an argument. Test type will be 3 for ATI and 2 for TI.  It must return a single value, the greatest distance calculated to fill the value of tap.  It is possible that they will pass a prid, test_type combination that will have all the records in the dsltdr table.

    {
    SELECT pw,
    Round ((DECODE (t.rfltype1, 5, t.rfldist1,)))
    DECODE (t.rfltype2, 5, t.rfldist2,)
    DECODE (t.rfltype3, 5, t.rfldist3,)
    DECODE (t.rfltype4, 5, t.rfldist4,)
    DECODE (t.rfltype5, 5, t.rfldist5,)
    DECODE (t.rfltype6, 5, t.rfldist6,)
    DECODE (t.rfltype7, 5, t.rfldist7,)
    DECODE (t.rfltype8, 5, t.rfldist8,)
    NULL)))
    (- launch_start) * distk * vop, 2) dist
    OF dsltdr t
    WHERE pr_id = 464529581
    AND test_type = 3
    ORDER BY pw CSA;
    }



    SELECT pw,
    Round ((DECODE (t.rfltype1, 5, t.rfldist1,)))
    DECODE (t.rfltype2, 5, t.rfldist2,)
    DECODE (t.rfltype3, 5, t.rfldist3,)
    DECODE (t.rfltype4, 5, t.rfldist4,)
    DECODE (t.rfltype5, 5, t.rfldist5,)
    DECODE (t.rfltype6, 5, t.rfldist6,)
    DECODE (t.rfltype7, 5, t.rfldist7,)
    DECODE (t.rfltype8, 5, t.rfldist8,)
    NULL)))
    (- launch_start) * distk * vop, 2) dist
    OF dsltdr t
    WHERE pr_id = 464528353
    AND test_type = 3
    ORDER BY pw CSA;


    SELECT pw,
    Round ((DECODE (t.rfltype1, 5, t.rfldist1,)))
    DECODE (t.rfltype2, 5, t.rfldist2,)
    DECODE (t.rfltype3, 5, t.rfldist3,)
    DECODE (t.rfltype4, 5, t.rfldist4,)
    DECODE (t.rfltype5, 5, t.rfldist5,)
    DECODE (t.rfltype6, 5, t.rfldist6,)
    DECODE (t.rfltype7, 5, t.rfldist7,)
    DECODE (t.rfltype8, 5, t.rfldist8,)
    NULL)))
    (- launch_start) * distk * vop, 2) dist
    OF dsltdr t
    WHERE pr_id = 464527142
    AND test_type = 2
    ORDER BY pw CSA;


    SELECT pw,
    Round ((DECODE (t.rfltype1, 5, t.rfldist1,)))
    DECODE (t.rfltype2, 5, t.rfldist2,)
    DECODE (t.rfltype3, 5, t.rfldist3,)
    DECODE (t.rfltype4, 5, t.rfldist4,)
    DECODE (t.rfltype5, 5, t.rfldist5,)
    DECODE (t.rfltype6, 5, t.rfldist6,)
    DECODE (t.rfltype7, 5, t.rfldist7,)
    DECODE (t.rfltype8, 5, t.rfldist8,)
    NULL)))
    (- launch_start) * distk * vop, 2) dist
    OF dsltdr t
    WHERE pr_id = 464528984
    AND test_type = 2
    ORDER BY pw CSA;



    >

    SELECT pw,
    Round ((DECODE (t.rfltype1, 5, t.rfldist1,)))
    DECODE (t.rfltype2, 5, t.rfldist2,)
    DECODE (t.rfltype3, 5, t.rfldist3,)
    DECODE (t.rfltype4, 5, t.rfldist4,)
    DECODE (t.rfltype5, 5, t.rfldist5,)
    DECODE (t.rfltype6, 5, t.rfldist6,)
    DECODE (t.rfltype7, 5, t.rfldist7,)
    DECODE (t.rfltype8, 5, t.rfldist8,)
    NULL)))
    (- launch_start) * distk * vop, 2) dist
    OF dsltdr t
    WHERE pr_id = 464529918
    AND test_type = 2
    ORDER BY pw CSA;

    How to start with?

    Thanks in advance.

    I removed the dbms_output statement because it does not seem to turn it on. If you do this from sqlplus
    Make sure that you type "serverout on" and press return.

    declare
    vPW number := 0 ;
    vDistance number := 0 ;
    begin
    sp_dsl_test(3,'12345',vDistance,vPW) ;
    DBMS_OUTPUT.PUT_LINE('Distance = '|| vDistance || ' PW = '|| vPW);
    end;
    

    Published by: FlyingGuy on March 3, 2011 14:24

Maybe you are looking for

  • Change the processor of my Lenovo z480

    Hi allI have lenovo z480 i5.I would like to know the i5 and i7 processors compatible for my laptop.Its specifications are: Part numberQTY.DescriptionGoods codeRepairableReplacement partsImage1025003011

  • QuickPlay appears always

    Whenever I sign on my computer, Quickplay opens without any warning from me.  How can I solve this problem?

  • New installation of W7 cannot find modem

    I had to reinstall W7 on my DELL from a newly purchased Setup disk.  The installation went well and that Windows runs... Unfortunately I can't get online to update all my drivers DELL.  I have the DELL floppy drive to install for the DELL preinstalle

  • loading of GIF or SVG animations

    I'm trying to put a load on my widget animation but not having a chance. First, I created a small gif and placed it in my widget. The picture showed, but it was not animated. Then, I loaded my gif in composer and converted into a SVG. I added the svg

  • Creative suite CS 5.5 download on the new imac failed?

    try to download Creative suite CS 5.5 on the new imac. After hours of download file is corrupt. first I got the message disk images could not be opened.  then re uploaded with all the files and I got a bunch of coding.Please notify