JavaFile Programming

My requirment is
I have to make a folder which is having the file names.
I want to save the content in the individual file in separate html files.not in the same folder
eg:
statistics is folder which is having different files
Statistics-- a.html
b.html
c.html
So when u open a.html in the browser the source code i want to save.
so how can i approach this problem using java.io.*
can any body suggests n sent the code example
Thanks (in advance)
ramu

You realize that java.io is just there so you can interact using any kind of I/O, be it files, sockets or whatever. There is no magic API that can do any kind of other program logic, you have to develop that yourself. So to answer your question,
1) use the File class to get basic information about a file or directory, including file listings.
2) use PrintStream and FileReader to write to or read from textual files
That is basically all there is to it, the rest is up to you.

Similar Messages

  • How to run a java program in another folder

    Hello!
    I want to run for example the java class file in the path ./sourcecode/javafile.class. It works fine if I do the following:
    cd sourcecode
    java javafile
    but it cannot work if I do:
    java sourcecode/java
    The error it outputs is NoClassDefFoundError.
    Can someone tell me how to run a java program in another folder
    thanks a lot.

    You need to specify the classpath using the -cp flag when running. so instead of
    "java sourcecode/javafile"
    Try
    "java -cp sourcecode javafile"

  • .jws default program is notepad, not jdeveloper

    Hello,
    I uninstalled jdeveloper 11.1.2.1 the other day and installed the newest version 11.1.2.3. I installed the new version in a different location on my computer. I am on windows 7, home version. I am an administrator on the computer.
    Today I tried to open a .jws file and it opened in notepad. I am not sure if this was an error on my part -- I accidentally chose "open with" and it stuck on notepad.
    At any rate, there are ways to change the file association, in control panel, default programs. Unfortunately, Jdeveloper does not show up on the list of programs listed. There is a browse button, and I used that and selected jdeveloper.exe, but that did not add the program to the list, and it is still listing notepad as the program to open it.
    I tried all of the steps on http://www.techbuzz.in/can-i-change-file-associations-in-windows-7-vista.php
    Would anyone have any ideas?
    Thank you,
    Stuart

    Finally found this: http://www.computerhope.com/ftype.htm
    By running ftype in a dos command window, I was able to see that my jws files etc were being opened by the older location of
    jdeveloper:
    JDeveloper.jwsFile="C:\Oracle\Middleware\jdeveloper\jdeveloper.exe" "%1" %*
    JDeveloper.javaFile="C:\Oracle\Middleware\jdeveloper\jdeveloper.exe" "%1" %*
    JDeveloper.jprFile="C:\Oracle\Middleware\jdeveloper\jdeveloper.exe" "%1" %*
    JDeveloper.jspFile="C:\Oracle\Middleware\jdeveloper\jdeveloper.exe" "%1" %*
    STEPS:
    ::*Open command prompt (right-click icon from start menu and select run as administrator).*
    ::run "assoc" and you will see if it is there on the list
    assoc
    :: The output should be: .jws=JDeveloper.jwsFile
    ::If it is not there run this:
    ASSOC .jws=jwsFile
    ::Then run assoc again, see if it is on the list
    assoc
    ::Next run this line, but change the location to your location
    ftype  JDeveloper.jwsFile="C:\Oracle\jdeveloper\jdeveloper.exe" "%1" %*
    By running this, it did not immediately make the association to Jdeveloper again, but when I right-clicked the .jws file and
    selected open with, then "choose default program" jdeveloper showed up on the list.

  • Is there a way to make my program parse a bunch of files?  Design advice!

    Hello everyone.
    Currently my program does parses up a file and spits out a new file (its more complicated than that but in a nut shell thats what it does).
    The main function looks like this:
    package corysanchez.rodmload;
    public class Main
         public static void main(String [] args)
              ConversionTableParser classNameFile = new ConversionTableParser();
              classNameFile.parseFile("classNameConversion.txt");
              JavaParser javaFile = new JavaParser();
              javaFile.parseFile("interface.txt");
    }If you look at this code, that interface.txt is 1 file its parsing and its generating a new file called INTERFACE.SMP once this program is done running.
    Now what if there was a whole directory of files I want to run this program with?
    Like I want to pass in via command line, a directory, and I want my program to Search that directory and Run every file in that directory through my program.
    So my program would see
    javaFile.parse("file1.txt");
    javaFile.parse("file2.txt");
    javaFile.parse("file3.txt");
    etc...
    I wrote this program in Rexx and I'm rewriting it in Java. How I did it in Rexx was I created a script that would Search a directory, and call the whole program and just pass in an array of file names it found.
    Like if my above program was called Parser.exe.
    I would call Parser.exe <pass it an array of file names>
    then inside Parser.exe it would run the javaFile.parse(file1.txt);
    I was hoping there was a better method on how to accomplish this in java rather than writing another java program and calling this program via command line.
    Thanks!

    If you declare the file using the directory instead of a filename, you can use
    File directoryInQuestion = new File("./yourdirectory");
    File[] allTheFiles = directoryInQuestion.listFiles();
    for ( int i = 0; i < allTheFiles.length(); i++ ){
       if ( allTheFiles.isFile() )
    do whatever to allTheFiles[i]
    Hope that's helpful :D
    Edited by: the.maltese.falcon on Nov 8, 2007 3:13 PM
    good call on the subdirectories, helloWorld                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Start java application from java program

    My problem is the following:
    I start a java application A that allows you to select a couple of .java files.
    After having choosen them, the application adds some additional information to these .java files (that means some more lines of code � we call it �infecting� the java files).
    After the files have been infected, I want to start the application B implemented by these choosen and infected .java-files (without a new start of the Java Virtual Machine)
    For doing so, we use the following method whichs works quite fine:
    public static void ExecuteWithInvoke(String path, String classname)
         try
              new URLClassLoader(new URL[] {new File(path).toURL()})
                   .loadClass(classname).getMethod("main",
                   new Class[] { String[].class }).invoke(null,
                   new Object[] { new String[] {} });
         catch (Exception e)
         {e.printStackTrace();}
    The only problem that occurs:
    When the application B is launched, the �old� version of the choosen .java files is used and not the current, already infected version of these files. (I guess because the �old� .class files are used.)
    I solved this problem by finishing the program A after the infecting and restart my application B manually. In this case the infected .java files are used (I guess the new Start of the Java Virtual Machine solves my problem by reloading the �new� .class files)
    How can I reach to start my application with the mentioned method but with the infected .java files and without having a new start of the JVM ??
    Can anybody help me?
    Thanks in advance
    Sorry for my English, it�s a long time since I quit school

    Hello,
    my problem of reloading classes is still unsolved although you tried to help me!
    Therefore I posted a little program to illustrate our difficulty.
    It would be nice if somebody could have a look at this program.
    We have a file Testdatei.java whose only method is the main method.
    I get the class object of this file and with the help of Reflection the declared methods.
    Evereything works fine so far.
    Then I change the content of this file by adding an additional method a() (see change() for this).
    Now I delete the old class file and I compile Testdatei.java again (see compileJava()) and once more I get the class object for this changed file. Afterwards I get the declared methods for this class via reflection.
    But instead of showing now the methods main() and a() Reflection still only shows the method main().
    I guess the changed class has not been reloaded!!
    package testpackage;
    import java.io.BufferedWriter;
    import java.io.File;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.lang.reflect.Method;
    import java.net.URL;
    import java.net.URLClassLoader;
    import com.sun.tools.javac.Main;
    public class LoadClass
         private File f;
         private Class c = null;
         private Object o;
         public LoadClass()
              f = new File("C:/AAJ/src/testpackage/Testdatei.java");
              try
                   o = neuesExemplar(f.getPath(), "testpackage.Testdatei");
                   c = o.getClass();
                   System.out.println("Class " + c.getName() + " found.");
              catch (Exception e)
              {e.printStackTrace();}
              Method [] method = c.getDeclaredMethods();
              for (int i=0; i<method.length; i++)
                   System.out.println(method.getName());
              change();          
              compileJava(f.getPath());
              File fileToDelete = new File("bin/testpackage/Testdatei.class");
              System.out.println(fileToDelete.delete());
              Class cla = null;
              try
                   Object o = neuesExemplar(f.getPath(), "testpackage.Testdatei");
                   cla = o.getClass();
                   System.out.println("Class " + cla.getName() + " found.");
              catch (Exception e)
              {e.printStackTrace();}
              Method [] methods = cla.getDeclaredMethods();
              for (int i=0; i<methods.length; i++)
                   System.out.println(methods[i].getName());
         private int compileJava(String javaFile)
         String[] args = {"-d", "C:/AAJ/bin/", "-classpath", System.getProperty("java.class.path"), javaFile};
         return Main.compile(args);
         public static void main(String[] args)
              new LoadClass();
         private Object neuesExemplar(String pfad, String klassename) throws Exception
         URL url = new File(pfad).toURL();
         URLClassLoader cl = new URLClassLoader( new URL[]{ url });
         Class c = cl.loadClass(klassename);
         return c.newInstance();
         private void change()
              FileWriter fw;
              BufferedWriter bw;
              try
                   fw = new FileWriter(f);
                   bw = new BufferedWriter(fw);               
                   bw.write("package testpackage;");
                   bw.newLine();
                   bw.newLine();
                   bw.write("public class Testdatei");
                   bw.newLine();
                   bw.write("{");
                   bw.newLine();
                   bw.write("public static void main (String [] args)");
                   bw.newLine();
                   bw.write("{");
                   bw.write("System.out.println(4);");
                   bw.newLine();
                   bw.write("}");
                   bw.newLine();
                   bw.newLine();
                   bw.write("private void a ()");
                   bw.newLine();
                   bw.write("{");
                   bw.newLine();
                   bw.write("System.out.println(55);");
                   bw.newLine();
                   bw.write("}");
                   bw.newLine();
                   bw.write("}");
                   bw.close();
                   fw.close();               
              catch (IOException e)
              {e.printStackTrace();}                                             
    I�m using eclipse 3.1.0. Is it possible that it�s a bug in eclipse that eclipse holds the old class file in memory from the beginning and always refers to this one and not to the new compiled one?
    Thanks a lot
    Simon

  • Problem with threads, program always crash

    new to threads, may be doing something COMPLETELY wrong. When I run the program I get a couple of NullPointerExceptions in Thread-0 and Thread-1. I'm confused because it screws up when I call size() for arrayList, and in the API size doesn't throw anything.
    public class ProducerConsumerRunner
       public static void main(String args[])
          Queue q = new Queue(QUEUE_MAX_SIZE);
          ProducerRunnable producer = new ProducerRunnable(q, ITERATIONS);
          ConsumerRunnable consumer = new ConsumerRunnable(q, ITERATIONS);
          //works good up to here
          Thread t1 = new Thread(producer);
          Thread t2 = new Thread(consumer);
          t1.start();
          t2.start();
       private static int ITERATIONS = 50;
       private static int QUEUE_MAX_SIZE = 25;
    import java.util.ArrayList;
    import java.util.concurrent.locks.ReentrantLock;
    public class Queue {
         public Queue(int maxSize)
              list = new ReentrantLock();
              underLimit = list.newCondition();
              MAX_SIZE = maxSize;
         public void add(String line)
              list.lock();
              try{
                           System.out.println("add method of Queue");
                   while(record.size() >= MAX_SIZE){//things get screwed up when this condition is evaluated
                        //size method is crashing the program
                        System.out.println("2");
                        underLimit.await();
                        System.out.println("3");
                   record.add(line);
              }catch(java.lang.InterruptedException e){
                   System.out.println("await interupted: "+e.getMessage());
              }finally{
                   list.unlock();
         public void remove(int line)
              list.lock();
              record.remove(line);
              list.unlock();
         public  ArrayList<String> record;
         private final ReentrantLock list;
         private final java.util.concurrent.locks.Condition underLimit;
         private final int MAX_SIZE;
    import java.util.Date;
    public class ProducerRunnable implements Runnable{
         public ProducerRunnable(Queue q, int itterations)
              this.q = q;
              ITTERATIONS = itterations;
         public void run()
              String date;
              for(int i = 0; i<ITTERATIONS; i++)
                   date = new Date().toString();
                   q.add(date);//this is where it screws up
                   System.out.println(date+" added");
                   try{
                   Thread.sleep(100);
                   }catch(java.lang.InterruptedException e){
                        System.out.println("ProduccerRunnable's sleep was interupted");
         private final Queue q;
         private final int ITTERATIONS;
    public class ConsumerRunnable implements Runnable{
         public ConsumerRunnable(Queue q, int itterations)
              this.q = q;
              ITTERATIONS = itterations;
         public void run()
              //Queue q = new Queue();
              int length;
              for(int i = 0; i<ITTERATIONS; i++)
                   length = q.record.size();//things are getting screwed up here
                   while(q.record.get(length) == null)
                        length--;
                   System.out.println((String)q.record.get(length));
                   q.remove(length);
                   try{
                   Thread.sleep(100);
                   }catch(java.lang.InterruptedException e){
                        System.out.println("ConsumerRunnable's sleep was interupted");
         private final Queue q;
         private final int ITTERATIONS;
    }

    question:
    this works right
         public void remove()
              list.lock();
              int line = 0;
              try{
                   *while(record.size() < 1)*
                        range.await();
                   record.remove(line);
                   range.signalAll();
              }catch(java.lang.InterruptedException e){
                   System.out.println("await interupted: "+e.getMessage());
              }finally{
                   list.unlock();
         }this is deadlock
    *int list = 0;*
    *while((list = record.size)<1) was screwing things up because of the assignment*record is ArrayList of strings. when better to use Vector instead of ArrayList? i notice no differnce and i use threads
    initially I thought record.size was being evaluated and before could be assigned to list, time slice ran out. this could not be case because I use ReentrantLock (list) to lock it.
    Edited by: bean-planet on Apr 1, 2009 4:31 PM

  • ITunes & Windows Vista Home - Error File C:\Program Data\Apple Computer\Installer\Cache\iTunes 10.5.142\iTunes.msi was rejected by digital signature policy.

    Tried
    https://discussions.apple.com/thread/2713232?start=0&tstart=0
    and
    http://www.vistax64.com/vista-general/159940-computer-blocking-anything-no-digit al-signature.html
    with no avail!!!
    iTunes opens after I click OK on the above message however I cannot do anything within the app its like Windows it preventing it from running.
    PLEASE HELP!!!

    Update:
    I tried what the diagnostic told me to do, and repaired the installation. I was able to burn a CD in iTunes, but after I restarted, the drives have disappeared again! Here's the diagnostic info now:
    Microsoft Windows Vista Home Edition (Build 6000)
    MICRO-STAR INC. MS-6728
    iTunes 7.6.0.29
    QuickTime 7.4
    CD Driver 2.0.6.1
    CD Driver DLL 2.0.6.2
    Apple Mobile Device 1.1.3.26
    iTunes Serial Number 20D6EAF059AB94B4
    Current user is not an administrator.
    The current local date and time is 2008-01-15 19:09:32.
    iTunes is not running in safe mode.
    Video Display Information
    ATI Technologies Inc., Radeon X1600/X1650 Series
    ATI Technologies Inc., Radeon X1600/1650 Series Secondary
    ** External Plug-ins Information **
    Plug-in Name: Last.fm iTunes plugin
    Plug-in Loaded: Yes
    Plug-in Version: 0.0.13
    Plug-in File Version: 2.0.13.0
    Plug-in Path: C:\Program Files\iTunes\Plug-ins\itw_scrobbler.dll
    No drives showed up to be tested.

  • Error while running a Java Program

    Can anyone help me,
    I am getting the following error while running a Java program, Below is the exception thrown, please help.
    java.nio.BufferOverflowException
    at java.nio.Buffer.nextPutIndex(Buffer.java:425)
    at java.nio.DirectByteBuffer.putChar(DirectByteBuffer.java:463)
    at org.jetel.data.StringDataField.serialize(StringDataField.java:295)
    at org.jetel.data.DataRecord.serialize(DataRecord.java:283)
    at org.jetel.graph.DirectEdge.writeRecord(DirectEdge.java:216)
    at org.jetel.graph.Edge.writeRecord(Edge.java:288)
    at com.tcs.re.component.RESummer1.run(RESummer1.java:505)
    java.nio.BufferOverflowException
    at java.nio.Buffer.nextPutIndex(Buffer.java:425)
    at java.nio.DirectByteBuffer.putChar(DirectByteBuffer.java:463)
    at org.jetel.data.StringDataField.serialize(StringDataField.java:295)
    at org.jetel.data.DataRecord.serialize(DataRecord.java:283)
    at org.jetel.graph.DirectEdge.writeRecord(DirectEdge.java:216)
    at org.jetel.graph.Edge.writeRecord(Edge.java:288)
    at com.tcs.re.component.RECollectCont.run(RECollectCont.java:304)

    Ok, let's see. Write the following class:
    public class Grunt {
      public static void main(String[] args) {
        System.out.println("Hello Mars");
    }Save it as "C:\Grunt.java", compile by typing:
    javac c:\Grunt.javaRun by typing:
    java -classpath "C:\" GruntDoes it say "Hello Mars"? If yes, go back to your program and compare for differences (maybe you used the "package" statement?).
    Regards

  • How do I install all my old programs and data from an old system folder after I have reinstalled the same OSX system after a crash?

    The system is OSX10.5.8 Leopard on a 2009 imac. A new system was installed from the installation disks and the original system saved to a folder.
    I need to use my Adobe programs, rescue my email, i-tunes and iphoto data.  The disk utility indicates that my Time Machine back-up disk is damaged and I don't want to take a risk of having Time Machine erase my hard drive and try to reinstall the exact system existing at the time of the crash.  There was over 650 gb of stored files that I was copying and removing from the drive at the time it crashed. The total size of the original system file is still about 650 Gb.
    I would prefer to go back in Time Machine and only rescue the programs as most of the files have been copied to external hard drives, but I can't access the back-up hard drive from the new version of the Time Machine.  Or by I don't want the Time Mchine to start copying the new operating system which would include all the data in the old system file. Time Machine was working fine at the time of the crash.

    No, the disk was backed up with time machine a few hours prior to the crash.  I was unable to open the computer when I tried to restart it- got a grey screen with the spinning disk- after a few minutes the screen would go black and would reboot continuously, but not load any images or programs. I started the computer from the 10.5.4 installation disks and checked both the time machine external hard drive and the Imac internal drive with the disk utilities. Both showed as damaged --the internal drive and permissions were repaired, but the external drive (time machine back-up)  was damaged and not repairable by disk utilities. I don't believe that the external drive for Time Machine was connected to the computer at the time of the crash as I was copying files to a different hard drive drive. And I was not having any problems with the TM back-up drive prior to the crash.
    I accessed the Imac internal disk by firewire (as a target disk) and copied as many data files as I had room for on my external hard drives available.  And I deleted quite a few files from the imac internal drive (mostly just jpegs, duplicate tifs, etc--nothing that was used by i-photos, i-tunes or the Mail program).
    Then I installed a new OSX10.5.4 system from the installation disk and the old system was moved to a folder on the hard drive.  I previousy had had the option to reinstall the complete system from Time Machine when I connected that drive and booted with the installation disks with the C key depressed.  But it didn't seem like a good option because I was unsure of the condition of that external disk and whether it would be able to reinstall my data correctly, once it had erased my internal hard drive. 
    I'm considering buying some new external hard drives and backing up the present system to time Machine (so I'll still have my old data in the old system folder).  And then I would try using the old Time Machine back-up to try to reinstall the sytem previous to the crash.  That back-up would reinstall about 700gb of data and operating software and programs which sounds like a lengthy back-up.  Since I have never used Time Machine to do a full reinstallation (I've only used it for individual files), I'm reluctant to do anything rash.
    I'm a professional designer (with a deadline) but I can still use my Illustrator and Photoshop by opening them from the old system folder and saving the files to an external drive.  So it's not neccessary to do anything hasty except to delete some of the excess art and document files that were causing the computer to run slowly and the  Adobe programs to crash when I tried to save my work. I have quite a few books on tape in the i-tumes folder which is probably talking up tons of space but I don't where the i-tunes files live.
    Thanks for any help. Peggy
    Message was edited by: peggy toole

  • Error:  "Could not complete your request because of a program error" (photoshop CS2 9.0.2 on MAC OSX

    Today I started my program (photoshop CS2 9.0.2) and opened a JPG file. When I went to print the file the program crashed and closed. When I restarted the program and went to open the file I got this error message, "Could not complete your request because of a program error".
    I have tried several different file types/sizes and all result in the same error message since the program crashed. It will not open any file I try to open. As I indicated above I am using Photoshop CS2 9.0.2 it is on a MAC with OSX 10.4.11.
    I called Adobe and the Rep directed me to Tech Note 331307 and told me to Re-create the Photoshop preferences files. Which I did and restarted the program, but when I tried to open a file (any file) I still get the same error message so it doesn't appear to be the preferences.
    Does anyone have any info as to what the problem may be and how to correct it.
    Thanks

    Thanks for the response. OK... This is the first day I have been able to get back to the problem.
    My system I am running Photoshop on is a Power Mac G4, AGP Graphics ATY Rage 128Pro chip set 16MB VRAM LCD 1280x1024 32-bit color, 500MHz, 1.75GB of memory, 1 MB L2 Cache, 100 MHz Bus Speed. I had installed the latest security update and repaired the permissions the day the problem started.
    Now to day I started the system and went in and created a Guest Account. I logged into the guest account and started Photoshop. Low and behold it worked just fine. So I logged out of guest and logged into my main user account And started Photoshop. Wouldn't you know it.... It works just fine. I can open any file I want with now problems.
    I got to thinking after I had done all of this that I wished I had tried to open a file in Photoshop today prior to creating the guest account to see if it still had the problem in my main user account.
    I did not change anything else on the system and all seems to work fine now. So at his point I am really not sure what the problem was.
    Again thanks for taking the time to respond to this issue.

  • Photoshop CS2 (program error msg)... Help please!!

    I have installed the full creative suite 2 on my new iMac. everything works fine except photoshop?!!?
    Illustrator works great, In-Design works great, But when i try to open a file or create a new page in PS it tells me "Could not create document because of a program error"???? ***?
    I had a previous version of CS and it worked fine for one day, then that started happening. I installed the CS2 trial version, and it would still give me the same error msg. I erased everything and installed the new CS2 (photoshop, illustrator , in-design and acrobat). It still gives me the same darn msg.???
    Any help would be greatly appreciated!
    thanks

    See the Adobe Knowledge Base document"Error 'Could not complete your request...' or 'Could not create a new document...' (Photoshop CS2 on Mac OS X v10.4)"
    I suggest whenever you have problems with third-party applications, the first place to start troubleshooting is with the application's documentation, then vendor's web site. Usually their sites have FAQs, lists of known bugs, or application-specific forums similar to these Discussions. Sometimes, unlike the Apple Discussions, the questions are even answered by employees of the vendor.
    The document cited above was found in 10 seconds by searching the Adobe support site.
    Good luck!
    Dr. Smoke
    Author: Troubleshooting Mac® OS X

  • PhotoShop CS2 "Program Error" when printing

    I am posting this to the Adobe Forums as well, but thought someone here might have some ideas. am having an intermittent problem printing from PhotoShop CS2 to an Epson 9800. When printing large files (200 MB average) to the Epson, PhotoShop will spool the job, taking about 50% longer than normal, and when complete, displays the following message..."The file XXXX.tif could not be printed because of a program error" No job ever gets to the print que. This happens about 80% of the time when printing. Quitting and restarting PhotoShop generally fixes the problem, and the file can be printed from another computer without issue, so this is not file specific. I have 8GB of RAM installed and PhotoShop running under 100% available memory, cache level at 8, with a dedicated 180GB scratch disk. Memory should NOT be the problem, though I do often have the full layered version of the file open in the background (I am printing from a flattened copy. I have observed that the problem is less likely to occur if no other files are open. I have a second G5 with the exact same software setup (OS, Print Driver and PhotoShop down to the decimal version #) that works perfectly every time. I have run all of the System utilities (Repair Permissions, FSCK, etc), reset the OSX printing system, reset PS preferences, trashed and re installed CS, as well as the Epson printer driver, all with no success. Any other trouble shooting ideas would be greatly appreciated. I would love to avoid a System reinstall.

    See the Adobe Knowledge Base document"Error 'Could not complete your request...' or 'Could not create a new document...' (Photoshop CS2 on Mac OS X v10.4)"
    I suggest whenever you have problems with third-party applications, the first place to start troubleshooting is with the application's documentation, then vendor's web site. Usually their sites have FAQs, lists of known bugs, or application-specific forums similar to these Discussions. Sometimes, unlike the Apple Discussions, the questions are even answered by employees of the vendor.
    The document cited above was found in 10 seconds by searching the Adobe support site.
    Good luck!
    Dr. Smoke
    Author: Troubleshooting Mac® OS X

  • KABA connection issue - program not registered

    I am trying to troubleshoot a connection error between SAP and KABA.  I have the RFC created in SAP and when I test the connection I get a program not registered.  The KABA "amsproc" service on the KABA side has been restarted, we have occasionally received a password locked message in the SAP system log after restarting the KABA service (I believe this means SAP and KABA are communicating).  We have since reset the password, but we can not successfully test the RFC and when attempting to send IDOC's out we get the program not registered error.  Is there something on the SAP side that needs to be done to register the program or is starting the service on the KABA side going to register the program with SAP?  Any assistance would be appreciated.

    Hi,
    In Central Management Console ie, Admin application of BOE, you need to configure the BW system. Use the below URL,
    http://<serverhostname>:<port>/CmcApp
    After logging in Select the Authentication and SAP as authentication type.  Regarding how to configure, follow the configuration steps mentioned in the below article:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/a00ee3b2-5283-2b10-f1bf-8c6413e0898f
    Once you import the roles with the above configuration, the user with which you are validating the RFC connection will be imported in the BOE.
    Now, verify the RFC in the BW system.
    Regards,
    Noor.

  • Help me to Edit this program

    Hi All,
    Can anyone kind enought to help me to add the START and STOP button for this "bouncing ball" program that i got from the internet ? Below is the java coding.
    import java.awt.*;
    import java.applet.*;
    class Obstacle
         public Rectangle r;
         Graphics g;
         public Obstacle(int x,int y,int w,int h)
              r=new Rectangle(x,y,w,h);
         public void paint(Graphics gr)
              g=gr;
              g.setColor(Color.lightGray);
              g.draw3DRect(r.x,r.y,r.width,r.height,true);
    class CollideBall
         int width, height;
         public static final int diameter=20;
         //coordinates and value of increment
         double x, y, xinc, yinc, coll_x, coll_y;
         boolean collide;
         Color color;
         Graphics g;
         Rectangle r;
         //the constructor
         public CollideBall(int w, int h, int x, int y, double xinc, double yinc, Color c)
              width=w;
              height=h;
              this.x=x;
              this.y=y;
              this.xinc=xinc;
              this.yinc=yinc;          
              color=c;          
              r=new Rectangle(150,80,130,90);
         public double getCenterX() {return x+diameter/2;}
         public double getCenterY() {return y+diameter/2;}
         public void alterRect(int x, int y, int w, int h)
              r.move(x,y);
              r.resize(w,h);
         public void move()
              if (collide)
                   double xvect=coll_x-getCenterX();
                   double yvect=coll_y-getCenterY();
                   if((xinc>0 && xvect>0) || (xinc<0 && xvect<0))
                        xinc=-xinc;
                   if((yinc>0 && yvect>0) || (yinc<0 && yvect<0))
                        yinc=-yinc;
                   collide=false;
              x+=xinc;
         y+=yinc;
              //when the ball bumps against a boundary, it bounces off
         if(x<6 || x>width-diameter)
              xinc=-xinc;
                   x+=xinc;
              if(y<6 || y>height-diameter)
              yinc=-yinc;
                   y+=yinc;
              //cast ball coordinates to integers
              int x=(int)this.x;
              int y=(int)this.y;
              //bounce off the obstacle
              //left border
              if(x>r.x-diameter&&x<r.x-diameter+7&&xinc>0&&y>r.y-diameter&&y<r.y+r.height)
              xinc=-xinc;
                   x+=xinc;
              //right border
              if(x<r.x+r.width&&x>r.x+r.width-7&&xinc<0&&y>r.y-diameter&&y<r.y+r.height)
              xinc=-xinc;
                   x+=xinc;
              //upper border
              if(y>r.y-diameter&&y<r.y-diameter+7&&yinc>0&&x>r.x-diameter&&x<r.x+r.width)
                   yinc=-yinc;
                   y+=yinc;
              //bottom border
              if(y<r.y+r.height&&y>r.y+r.height-7&&yinc<0&&x>r.x-diameter&&x<r.x+r.width)
                   yinc=-yinc;
                   y+=yinc;
         public void hit(CollideBall b)
              if(!collide)
                   coll_x=b.getCenterX();
                   coll_y=b.getCenterY();
                   collide=true;
         public void paint(Graphics gr)
              g=gr;
              g.setColor(color);
              //the coordinates in fillOval have to be int, so we cast
              //explicitly from double to int
              g.fillOval((int)x,(int)y,diameter,diameter);
              g.setColor(Color.white);
              g.drawArc((int)x,(int)y,diameter,diameter,45,180);
              g.setColor(Color.darkGray);
              g.drawArc((int)x,(int)y,diameter,diameter,225,180);
    public class BouncingBalls extends Applet implements Runnable
         Thread runner;     
         Image Buffer;
    Graphics gBuffer;          
    CollideBall ball[];
         Obstacle o;
    //how many balls?
    static final int MAX=10;
         boolean intro=true,drag,shiftW,shiftN,shiftE,shiftS;
         boolean shiftNW,shiftSW,shiftNE,shiftSE;
         int xtemp,ytemp,startx,starty;
         int west, north, east, south;
         public void init()
              Buffer=createImage(size().width,size().height);
              gBuffer=Buffer.getGraphics();                         
              ball=new CollideBall[MAX];
              int w=size().width-5;
              int h=size().height-5;          
              //our balls have different start coordinates, increment values
              //(speed, direction) and colors
              ball[0]=new CollideBall(w,h,50,20,1.5,2.0,Color.orange);
    ball[1]=new CollideBall(w,h,60,210,2.0,-3.0,Color.red);
    ball[2]=new CollideBall(w,h,15,70,-2.0,-2.5,Color.pink);
    ball[3]=new CollideBall(w,h,150,30,-2.7,-2.0,Color.cyan);
    ball[4]=new CollideBall(w,h,210,30,2.2,-3.5,Color.magenta);
              ball[5]=new CollideBall(w,h,360,170,2.2,-1.5,Color.yellow);
              ball[6]=new CollideBall(w,h,210,180,-1.2,-2.5,Color.blue);
              ball[7]=new CollideBall(w,h,330,30,-2.2,-1.8,Color.green);
              ball[8]=new CollideBall(w,h,180,220,-2.2,-1.8,Color.black);
              ball[9]=new CollideBall(w,h,330,130,-2.2,-1.8,Color.gray);
              o=new Obstacle(150,80,130,90);
              west=o.r.x;
              north=o.r.y;
              east=o.r.x+o.r.width;
              south=o.r.y+o.r.height;
         public void start()
              if (runner == null)
                   runner = new Thread (this);
                   runner.start();
    public void stop()
              if (runner != null)
         runner.stop();
         runner = null;
         public void run()
              while(true)
                   Thread.currentThread().setPriority(Thread.MAX_PRIORITY);
                   try {runner.sleep(15);}
         catch (Exception e) { }               
                   //move our balls around
                   for(int i=0;i<MAX;i++)
                        ball.move();
                   handleCollision();
                   repaint();     
         boolean collide(CollideBall b1, CollideBall b2)
              double wx=b1.getCenterX()-b2.getCenterX();
              double wy=b1.getCenterY()-b2.getCenterY();
              //we calculate the distance between the centers two
              //colliding balls (theorem of Pythagoras)
              double distance=Math.sqrt(wx*wx+wy*wy);
              if(distance<b1.diameter)                         
                   return true;          
                   return false;     
         void changeCursor(int x, int y)
              Rectangle r=new Rectangle(o.r.x+1,o.r.y+1,o.r.width-1,o.r.height-1);
              Frame BrowserFrame;
              Component ParentComponent;
              ParentComponent = getParent();
              while ( ParentComponent != null &&
              !(ParentComponent instanceof Frame))           
              ParentComponent = ParentComponent.getParent();          
              BrowserFrame = (Frame) ParentComponent;
              if(shiftNW||shiftSE)
                   BrowserFrame.setCursor(Frame.SE_RESIZE_CURSOR);
              else if(shiftNE||shiftSW)
                   BrowserFrame.setCursor(Frame.SW_RESIZE_CURSOR);
              else if(shiftW)
                   BrowserFrame.setCursor(Frame.W_RESIZE_CURSOR);
              else if(shiftN)
                   BrowserFrame.setCursor(Frame.N_RESIZE_CURSOR);
              else if(shiftE)
                   BrowserFrame.setCursor(Frame.W_RESIZE_CURSOR);
              else if(shiftS)
                   BrowserFrame.setCursor(Frame.N_RESIZE_CURSOR);
              else if(r.inside(x,y))
                   BrowserFrame.setCursor(Frame.MOVE_CURSOR);
              else
                   BrowserFrame.setCursor(Frame.DEFAULT_CURSOR);
         public boolean mouseMove(Event evt,int x,int y)
              //the corner areas of the obstacle
              Rectangle nw,sw,ne,se;
              nw=new Rectangle(o.r.x-2,o.r.y-2,4,4);
              if(nw.inside(x,y))
                   shiftNW=true;
              else shiftNW=false;
              sw=new Rectangle(o.r.x-2,o.r.y+o.r.height-2,4,4);
              if(sw.inside(x,y))
                   shiftSW=true;
              else shiftSW=false;
              ne=new Rectangle(o.r.x+o.r.width-2,o.r.y-2,4,4);
              if(ne.inside(x,y))
                   shiftNE=true;
              else shiftNE=false;
              se=new Rectangle(o.r.x+o.r.width-2,o.r.y+o.r.height-2,4,4);
              if(se.inside(x,y))
                   shiftSE=true;
              else shiftSE=false;          
              if(x>o.r.x-2&&x<o.r.x+2&&y>o.r.y&&y<o.r.y+o.r.height)
                   shiftW=true;
              else shiftW=false;
              if(x>o.r.x+o.r.width-2&&x<o.r.x+o.r.width+2
                   &&y>o.r.y&&y<o.r.y+o.r.height)
                   shiftE=true;
              else shiftE=false;
              if(y<o.r.y+2&&y>o.r.y-2&&x>o.r.x&&x<o.r.x+o.r.width)
                   shiftN=true;
              else shiftN=false;
              if(y>o.r.y+o.r.height-2&&y<o.r.y+o.r.height+2
                   &&x<o.r.x+o.r.width)
                   shiftS=true;
              else shiftS=false;
              changeCursor(x,y);
              return true;
         public boolean mouseDown(Event evt,int x,int y)
              Rectangle r=new Rectangle(o.r.x+2,o.r.y+2,o.r.width-4,o.r.height-4);
              if(r.inside(x,y))
                   drag=true;
                   startx=x;
                   starty=y;
                   xtemp=o.r.x;
                   ytemp=o.r.y;
              else drag=false;
              changeCursor(x,y);
              return true;
         public boolean mouseDrag(Event evt,int x,int y)
              intro=false;
              Rectangle bounds=new Rectangle(5,5,size().width-5,size().height-5);
              int endx, endy;          
              endx=x-startx;
              endy=y-starty;     
              //disable mouse actions past boundaries
              if(x<5)x=5;
              if(y<5)y=5;
              if(x>bounds.width)x=bounds.width;
              if(y>bounds.height)y=bounds.height;
              if(drag)
                   //disallow to move past border
                   int ox=endx+xtemp;
                   int oy=endy+ytemp;
                   if(ox<5)ox=5;
                   if(oy<5)oy=5;
                   if(ox>bounds.width-o.r.width)
                        ox=bounds.width-o.r.width;
                   if(oy>bounds.height-o.r.height)
                        oy=bounds.height-o.r.height;     
                   o.r.move(ox,oy);                    
                   west=o.r.x;
                   north=o.r.y;
                   east=o.r.x+o.r.width;
                   south=o.r.y+o.r.height;                              
              else
                   if(shiftNW){west=x;north=y;}
                   else if(shiftNE){east=x;north=y;}
                   else if(shiftSW){west=x;south=y;}
                   else if(shiftSE){east=x;south=y;}
                   else if(shiftW)west=x;
                   else if(shiftE)east=x;
                   else if(shiftN)north=y;
                   else if(shiftS)south=y;                                                       
                   //disallow resizing below 40*40
                   int MIN=40;
                   if(east-west<MIN)
                        //shiftNW=shiftNE=shiftSW=shiftSE=shiftW=shiftE=false;
                        if(shiftW||shiftNW||shiftSW)
                             west=east-MIN;
                        if(shiftE||shiftNE||shiftSE)
                             east=west+MIN;
                   if(south-north<MIN)
                        //shiftNW=shiftNE=shiftSW=shiftSE=shiftN=shiftS=false;
                        if(shiftN||shiftNW||shiftNE)
                             north=south-MIN;
                        if(shiftS||shiftSE||shiftSW)
                             south=north+MIN;
              //report altering of obstacle to ball objects and obstacle
              for(int i=0;i<MAX;i++)
                   ball[i].alterRect(o.r.x,o.r.y,o.r.width,o.r.height);
              o.r.move(west,north);
              o.r.resize(east-west, south-north);
              changeCursor(x,y);
              return true;
         private void handleCollision()
              //we iterate through all the balls, checking for collision
              for(int i=0;i<MAX;i++)
                   for(int j=0;j<MAX;j++)
                             if(i!=j)
                                  if(collide(ball[i], ball[j]))
                                       ball[i].hit(ball[j]);
                                       ball[j].hit(ball[i]);
         public void update(Graphics g)
              paint(g);
         public void paint(Graphics g)
              gBuffer.setColor(Color.lightGray);
              gBuffer.fillRect(0,0,size().width,size().height);
              gBuffer.draw3DRect(5,5,size().width-10,size().height-10,false);               
              //paint the obstacle rectangle
              o.paint(gBuffer);
              //paint our balls
              for(int i=0;i<MAX;i++)
                        ball[i].paint(gBuffer);     
              if(intro)
                   gBuffer.setColor(Color.red);
                   gBuffer.setFont(new Font("Helvetica", Font.PLAIN, 12));               
                   gBuffer.drawString("You can move and resize the rectangle!",20,30);
                   gBuffer.setFont(new Font("Helvetica", Font.PLAIN, 10));
              g.drawImage (Buffer,0,0, this);                    

    Hello, please use code tags next time you post code. You can do so by adding [code] [/code] round blocks of code. So
    [code]
    class Code {
    private static final String codeHere = "code here";
    [/code]
    will be rendered as
    class Code {
      private static final String codeHere = "code here";
    We will not do your homework for you, we will however help when you are stuck and point you in the right direction. So what have you tried? What happened?
    Don't know how to begin? What makes the ball move?

  • I dont see text options in the RFEBKA00 program

    Hello friends,
    When I run the RFEBKA00 program, I don´t see the text of the every radio button options.
    How I can solve this problem,
    Can you help me please,
    Regards
    David

    did you solve this problem? can you tell me how?

Maybe you are looking for