Java class write file in Linux related to locale setting?

Hi all,
I have encoding problem, I need to write database data with UTF-8 into file in Linux, the data included Chinese characters and English, and send file to other machines.
My question is does it affect the UTF-8 data if the Linux machine does not have character set for Chinese encoding and just use OutputStreamWriter to send the file to other machines?
The Linux locale is "C"
In other machines, I only read the Chinese character using putty.
Can any one tell me how to solve it?

My question is does it affect the UTF-8 data if the Linux machine does
not have character set for Chinese encoding and just use
OutputStreamWriter to send the file to other machines?Until data is displayed to the screen by the Linux computer, it does not matter whether it can display Chinese characters.
Additionally, the mixed Chinese-English data sounds like a potential encoding problem - unless you have an encoding that matches the data.

Similar Messages

  • File drag and drop from java app to file system - Linux problem

    Hi all,
    I am developing an application for files archiving, with a graphical user interface. The files are showed in a JList, and I implemented drag and drop feature for it. It works well for Windows platform, but not at all for Linux (Ubuntu).
    Under Linux, file export with DND from the archive to file system does not work.
    To extract a file with DND, we can't know the target destination folder, so I create a temp file (file extracted from the archive is wrote to OS tmp dir), and the system is expected to handle the DND action.
    The temp file is correctly created (original data is well retrieved), but Ubuntu does not want to copy or move it via DND.
    I get a system dialog window (while extracting file "test1") :
    Error while moving
    There was an error getting information about "[tmp/60lp1t7egl/test1]".
    Show more details > Operation not supported
    (Cancel, Skip all, Skip, Retry)
    Can it be a rights problem ?
    Any idea ?
    Regards,
    Biibox

    Until the 3rd party image editor developers provide us with the Photos extensions for using their app from within Photo we'll have to export to the Desktop, edit there in the apps and either import the new file into Photos or use it elsewhere.

  • Opening a pdf file in a relative link / local

    Maybe this sounds simple.
    But I get used to AS2 code to open  a pdf file like the code below:
    getURL("pdfDocuments/pdfname.pdf","_blank")
    As I search uncle Google I'm stuck to this as equivalent to getURL in AS2.
    btn.addEventListener(MouseEvent.CLICK, btnClick);
    function btnClick(e:MouseEvent):void {
              navigateToURL( new URLRequest("pdfDocuments/pdfname.pdf"), "_blank");
    But still it did'nt work.
    Before in AS2 getURL working on mailto, pdf on a relative link and a typical url's.
    But as to AS3 navigateToURL function only works on mailto and typical url.
    Any tweaks to the code above, to get it to work? will much appreciated.
    Thanks,

    There's numerous examples if you google "call javascript from actionscript".
    Here's 1 that sums it up pretty simply, just import flash.external.ExternalInterface; then use it statically via its call() method to call javascript. Then in the javascript simply do what you want.
    http://www.hardcode.nl/archives_155/article_334-call-javascript-function-from-as3-and-vice versa.htm
    e.g. ACTIONSCRIPT:
    import flash.external.ExternalInterface;  // call javascript function passing to load relative URL "pdfs/some.pdf"ExternalInterface.call("loadPDF","pdfs/some.pdf");
    e.g. HTML
    <html><head><script type="text/javascript">// <!-- // function with the called namefunction loadPDF(pdfName){     // open a new window (or tab) to the PDF requested from AS     window.open(pdfName,"_blank"); } // --></script><body> </body></html>
    Nothing really much to it.
    Here's a reference to window.open() if you want to customize the opened window:
    http://www.w3schools.com/jsref/met_win_open.asp

  • How to convert a .jsp to a .java/.class file for use in peoplesoft

    Hi java/jsp experts,
    I want to convert a .jsp to a .java/.class file. is there a tool available, please let me know if you have any pointers....
    or can i do it manually:
    these are a few lines that the .jsp contains, and i would like to translate this to be in .java/.class format:
    <%@ page import="sun.misc.BASE64Encoder, javax.crypto., javax.crypto.spec."%>
    <%@ page import="java.util.StringTokenizer" %>
    <%@ page import="java.util.Map" %>
    <%!
    sb.append("<input type=\"hidden\" name=\"orderPage_serialNumber\" value=\"");
    sb.append(serialNumber);
    sb.append("\">\n");
    return sb.toString();
    %>
    how can i translate the above import statements and html elements from jsp to java, please let me know.
    Once i have the .java file created from the .jsp, I will compile .java to create the .class file and invoke the .class in peoplecode by using java apis available in peopletools.
    Thanks in advance.

    Is there a way convert a binary .exe file( compiled by
    another compiler) into Java .class/.jar file ? Anyone
    know of a free program that can do this?It's not possible. There are many decompilers and disassemblers for Java but nothing will take you from ANY binary to Java source. It would be the end of computing as we know it and the beginning of a new era -:)

  • How do I write files that aren't text? Like gif, doc, pdf, jpg, etc.

    I don't know how, in java, to write files that are not pure text. I've been using the BufferedReader/Writer but it is not working. Can someone give me some sample code of how I can write file data correctly?

    First of all, if you aren't writing text then you shouldn't be using a Writer at all, you should be using an OutputStream. Writers deal with characters, OutputStreams deal with bytes. Second, the hard part of outputting those files is that you have to understand that they each have a defined structure you have to follow. For example, you can find a document that describes how a PDF file must be structured on Adobe's site. (Before you go searching for it, I'll just mention that it is over 500 pages long.) You have to write out bytes that satisfy the rules for the file type and arrange the content within those rules.

  • Replace Java Class?

    Hi to all of yours.
    Standard Java classes, like File, OutputStream and such and such, are included in every Java distribution.
    I have a .jar library which uses them, for example FileOutputStream. I load this library with an URLClassLoader.
    What I want to achive is that the library uses a class defined by myself instead of FileOutputStream. This class will have the same signature and methods, of course.
    This sounds strange, but consider the following: the library I use (3rd party) creates a pile of files with stuff in them on the hard disk. However, I dont want these files to be on the hd, but in memory instead. Therefore I created some sort of "virtual file system" with streams and all sorts of gimicks.
    I dont want to replace FileOutputStream permanently, just within the ClassLoader used to load that jar.
    First idea was to override the loadClass method to return my class whenever "java.io.FileOutputStream" is requested.
    Well, this works for normal classes, but these "basic" java classes (as I said, like File, FileOutputStream and so on..) are not requested from the classloader but somehow already "known".
    Can someone either tell me how to achieve my goal of replacing them dynamically or at least point me some links where i can get information on how the class-retrieving process of the "basic" java classes is done or could be influenced?
    Thanks a million,
    Thomas.

    Hey
    You need to add a parameter to exchange profile before you can see ABAP-class in Interface mapping,please follow the below steps:
    Go to http://<host:port>/exchangeProfile in internet explorer
    Expand IntegrationBuilder ->IntegrationBuilder.Repository->click on com.sap.aii.repository.mapping.additionaltypes link ,then on right hand side just type
    R3_ABAP|Abap-class in i/o field. and save.
    You may need to restart Java engine for this take effect.
    Thanks
    Aamir
    Edited by: Aamir Suhail on Aug 5, 2009 1:02 PM
    Edited by: Aamir Suhail on Aug 5, 2009 1:02 PM

  • Get the relative path for java class

    How to get Relative path for java class which is inside in web-inf directory in webapps

    ajay.manchu wrote:
    Hi gimbal2,
    My Requirement is i need to run a java class from batch file,when i created batch file in that i need to mention the complete path of the java class,so instead of mentioning that i want to provide only java class name,thats why i asked that one..
    can u help me regarding that....
    Thanks in advanceI wonder how that would work then. Let's take a fictive example. You have a class com.mycompany.myapp.Foo. This would mean that the class is stored in some directory like this:
    c:/webrootdir/myapp/WEB-INF/classes/com/mycompany/myapp/Foo.classTo be able to run such a class from the commandline using Java, you would have to invoke this command:
    java -cp c:/webrootdir/myapp/WEB-INF/classes com.mycompany.myapp.FooHow would knowing the exact path to this class help you?

  • JNI Invocation: open file in Java, write file in CPP

    Hello,
    Warning: I am a dunce, bad CPP code ahead!
    Using JNI invocation, I am trying to read a binary file in Java and write it in CPP.
    Everything compiles and runs without error, but the input and output jpg files are of course different.
    TIA to any help,
    kirst
    (begin ByteMe.java)
    import java.io.*;
    public class ByteMe
        // Returns the contents of the file in a byte array.
        public byte[] getBytesFromFile(String strInfo) throws IOException
            System.out.println("Testing:" + strInfo);
            File file = new File("1.jpg");
            InputStream is = new FileInputStream(file);
            // Get the size of the file
            long length = file.length();
            // Create the byte array to hold the data
            byte[] bytes = new byte[(int)length];
            // Read in the bytes
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length
                   && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0) {
                offset += numRead;
            // Ensure all the bytes have been read in
            if (offset < bytes.length)
                throw new IOException("Could not completely read file "+file.getName());
            // Close the input stream and return bytes
            is.close();
            return bytes;
        public ByteMe()
              //System.out.println("in constructor");
    }(end ByteMe.java)
    (begin ByteMe.cpp)
    #include <stdlib.h>
    #include <string.h>
    #include <jni.h>
    #include <windows.h>
    // for file operations:
    #include <fstream>
    int main( int argc, char *argv[] )
         JNIEnv *env;
         JavaVM *jvm;
         JavaVMInitArgs vm_args;
         JavaVMOption options[5];
         jint res;
         jclass cls;
         jmethodID mid;
         jstring jstr;
         jobject obj_print;
         options[0].optionString = "-Xms4M";
         options[1].optionString = "-Xmx64M";
         options[2].optionString = "-Xss512K";
         options[3].optionString = "-Xoss400K";
         options[4].optionString = "-Djava.class.path=.";
         vm_args.version = JNI_VERSION_1_4;
         vm_args.options = options;
         vm_args.nOptions = 5;
         vm_args.ignoreUnrecognized = JNI_FALSE;
         // Create the Java VM
         res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         if (res < 0)
              printf("Can't create Java VM");
              goto destroy;
         cls = env->FindClass("ByteMe");
         if (cls == 0)
              printf("Can't find ByteMe class");
              goto destroy;
         jmethodID id_construct = env->GetMethodID(cls,"<init>","()V");
         jstr = env->NewStringUTF(" from C++\n");
         obj_print = env->NewObject(cls,id_construct);
         // signature obtained using javap -s -p ByteMe
         mid = env->GetMethodID(cls, "getBytesFromFile", "(Ljava/lang/String;)[B");
         if (mid == 0)
              printf("Can't find ByteMe.getBytesFromFile\n");
              goto destroy;
         else
              jbyteArray jbuf = (jbyteArray) env->CallObjectMethod(obj_print,mid,jstr);
              jlong size = jsize(jbuf);
              printf("size is: %d\n", size); // size shown in output is
              std::ofstream out("data.jpg", std::ios::binary);
              out.write ((const char *)jbuf, 100000);     
         destroy:
             if (env->ExceptionOccurred())
                env->ExceptionDescribe();
        jvm->DestroyJavaVM();
    }(end ByteMe.cpp)

    Hello,
    Me again. Well, not such a dunce after all. Here is code that works correctly, and compiles with no errors and no warnings.
    Will much appreciate help with clean-up code.
    TIA,
    kirst
    (begin ByteMe.java)
    import java.io.*;
    public class ByteMe
        public long getFilezize(String strInfo) throws IOException
              // demonstrates String parameter passed from CPP to Java:
              System.out.println("(getFilesize) Hello world" + strInfo);
              File file = new File("1.bmp");
              InputStream is = new FileInputStream(file);
              // Get the size of the file
              long length = file.length();
              is.close();
              return length;
        // Returns the contents of the file in a byte array.
        public byte[] getBytesFromFile(String strInfo) throws IOException
            System.out.println("(getBytesFromFile) Hello world" + strInfo);
            File file = new File("1.bmp");
            InputStream is = new FileInputStream(file);
            // Get the size of the file
            long length = file.length();
            System.out.println("length is: " + String.valueOf(length));
            // Create the byte array to hold the data
            byte[] bytes = new byte[(int)length];
            // Read in the bytes
            int offset = 0;
            int numRead = 0;
            while (offset < bytes.length && (numRead=is.read(bytes, offset, bytes.length-offset)) >= 0)
                offset += numRead;
            // Ensure all the bytes have been read in
            if (offset < bytes.length)
                throw new IOException("Could not completely read file "+ file.getName());
            // Close the input stream and return bytes
            is.close();
            return bytes;
        public ByteMe()
              //System.out.println("in constructor");
    }(end ByteMe.java)
    (begin ByteMe.cpp)
              Signature obtained with command:
                   "C:\Program Files\Java\jdk1.5.0_15\bin\javap.exe" -s -p ByteMe
                   Compiled from "ByteMe.java"
                   public class ByteMe extends java.lang.Object{
                   public long getFilezize(java.lang.String)   throws java.io.IOException;
                     Signature: (Ljava/lang/String;)J
                   public byte[] getBytesFromFile(java.lang.String)   throws java.io.IOException;
                     Signature: (Ljava/lang/String;)[B
                   public ByteMe();
                     Signature: ()V
         Compiled VC++ 2005 Express, run on Vista
    #include <stdlib.h>
    #include <string.h>
    #include <jni.h>
    // file operations
    #include <fstream>
    int main( int argc, char *argv[] )
         JNIEnv *env;
         JavaVM *jvm;
         JavaVMInitArgs vm_args;
         JavaVMOption options[5];
         jint res;
         jclass cls;
         jmethodID mid;
         jmethodID sizeid;
         jstring jstr;
         jobject obj_print;
         jlong filesize;
         options[0].optionString = "-Xms4M";
         options[1].optionString = "-Xmx64M";
         options[2].optionString = "-Xss512K";
         options[3].optionString = "-Xoss400K";
         options[4].optionString = "-Djava.class.path=.";
         vm_args.version = JNI_VERSION_1_4;
         vm_args.options = options;
         vm_args.nOptions = 5;
         vm_args.ignoreUnrecognized = JNI_FALSE;
         // Create the Java VM
         res = JNI_CreateJavaVM(&jvm,(void**)&env,&vm_args);
         if (res < 0)
              printf("Can't create Java VM");
              goto destroy;
         cls = env->FindClass("ByteMe");
         if (cls == 0)
              printf("Can't find ByteMe class");
              goto destroy;
         jmethodID id_construct = env->GetMethodID(cls,"<init>","()V");
         printf("%s\n",id_construct);
         jstr = env->NewStringUTF(" from C++!\n");
         if (jstr == 0)
              // Normally not useful
              printf("Out of memory (could not instantiate new string jstr)\n");
              goto destroy;
         obj_print = env->NewObject(cls,id_construct);
         //BEGIN BLOCK to get file size
         sizeid = env->GetMethodID(cls, "getFilezize", "(Ljava/lang/String;)J");
         if (sizeid == 0)
              printf("Can't find ByteMe.getFilezize\n");
              goto destroy;
         else
              printf("got here\n");
              filesize =(jlong) env->CallObjectMethod(obj_print,sizeid,jstr);
              printf("got filesize\n");
         // END BLOCK to get file size
         // BEGIN BLOCK to write file
         mid = env->GetMethodID(cls, "getBytesFromFile", "(Ljava/lang/String;)[B");
         if (mid == 0)
              printf("Can't find ByteMe.getBytesFromFile\n");
              goto destroy;
         else
              jbyteArray ret =(jbyteArray) env->CallObjectMethod(obj_print,mid,jstr);
              // Access the bytes:
              jbyte *retdata = env->GetByteArrayElements(ret, NULL);
              // write the file
              std::ofstream out("data.bmp", std::ios::binary);
              //out.write ((const char *)retdata, 921654);
              out.write ((const char *)retdata, (long)filesize);
         // END BLOCK to write file
         destroy:
             if (env->ExceptionOccurred())
                env->ExceptionDescribe();
        jvm->DestroyJavaVM();
    }(end ByteMe.cpp)

  • How to convert dll to a java class file?

    Hi folks:
    I have some DLLs in VB and C++ and I wanna to convert them to a java class file. Does anybody know if exist a sw or easy way to do it?
    thanks
    Autair

    Well, I believe you could write JNI to call the functions in the DLLs, although I wouldn't recommend it. (You'd have a non-portable, fragile result.)

  • How to create java classes when multiple xsd files with same root element

    Hi,
    I got below error
    12/08/09 16:26:38 BST: [ERROR] Error while parsing schema(s).Location []. 'resultClass' is already defined
    12/08/09 16:26:38 BST: [ERROR] Error while parsing schema(s).Location []. (related to above error) the first definition appears here
    12/08/09 16:26:38 BST: Build errors for viafrance; org.apache.maven.lifecycle.LifecycleExecutionException: Internal error in the plugin manager executing goal 'org.jvnet.jaxb2.maven2:maven-jaxb2-plugin:0.7.1:generate': Mojo execution failed.
    I tried genarate java classes from multiple xsd files, but getting above error, here in .xsd file i have the <xe: element="resultClass"> in all .xsd files.
    So I removed all .xsd files accept one, now genarated java classes correctly. but i want to genarte the java classes with diffrent names with out changing .xsd
    Can you please tell me any one how to resolve this one......
    regards
    prasad.nadendla

    Gregory:
    If you want to upload several Java classes in one script the solution is .sql file, for example:
    set define ?
    create or replace and compile java source named "my.Sleep" as
    package my;
    import java.lang.Thread;
    public class Sleep {
    public static void main(String []args) throws java.lang.InterruptedException {
    if (args != null && args.length>0) {
    int s = Integer.parseInt(args[0]);
    Thread.sleep(s*1000);
    } else
    Thread.sleep(1000);
    create or replace and compile java source named "my.App" as
    package my;
    public class App {
    public static void main(String []args) throws java.lang.InterruptedException {
    System.out.println(args[0]);
    exit
    Then the .sql file can be parsed using the SQLPlus, JDeveloper or SQLDeveloper tools.
    HTH, Marcelo.

  • Converting Java class file to .dll

    Dear all,
    Is there any way to convert a Java class file to a .dll file?
    (Background being that there is a software that only allows callouts to DLLs and the method I have developed is in Java so need to convert it to a .dll)
    Any insight/advice/pointers are most appreciated.
    Thanks much,
    David

    Hi there,
    Yes you can convert a Java Class to DLL file using Microsoft Visual J#.NET (Installation required Visual Studio.NET) you can download it from the microsoft site.
    www.microsoft.com/downloads
    then go for search below in combo box(Visual J#.NET). After installation open new project select class library. write your java code(not fully supported j2se). build your application. All the Java Code is embeded in dll. Found at e.g. C:/JavaToDll/bin/debug/JavaToDll.dll This is a way to convert Java Code to a dll. frankly speaking i do not like .NET (copy of Java Technology must be baned completely).
    Thanks
    Please correct if i am wrong.
    Yahya Kamran (Software Engineer)

  • Invoking a method from a java class to a jsp file

    Maybe i'm going through a very basic error, but as i've looked for in some forums and nothing found decided to post. So let's go to the problem.
    Well, i have a form in a jsp file, it's basicaly html, but as i need some select boxes populated with data from the database i decided to create some methods in java classes. This is the point.
    My method receive some attributes, like the table and colums names, the name of the select box and the HttpServletResponse object.
    So after making all the database process. The method is supposed to write the result through the out.println(); object
    It goes everything all right except that the method seems to be called first than the html code coz' my select boxes comes above the head in the begin of the page and was supposed to come in the middle.
    part of the code:
    package pacote;
    import java.packages.*
    public class Class{
    public void metodo(HttpServletResponse response, String tableName, String column name, String selectName){
    PrintWriter out = response.getWriter();
    openConnection();
    //After making the query stuff
    //caso n�o haja nada na consulta
         if(rst == null)
         out.println("N�o h� registros.");
         else{
         out.println( "<select name='" +SelectName + "' id='" +SelectName + "' class=\"input_ob\" >");
         out.println( "<option value=''>Escolha: "+objeto+"</option>");
         //fill the select body with options; A while that sweap the resultSet and use the out object to write the results          
         getSelectBody(out,rst, selectValue);
    }This method is called this way:
    <tr valign="baseline">
        <td nowrap align="right">Grupo</td>
        <jsp:useBean id="m" scope="page" class="pacote.Class" />
            <td>
              <%
              try{
                   m.metodo(response, "tabela","grupo","id_grupo);
              } catch (IOException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
                        %></td>I'd like to know what i'm missing here. why the answer doesn't go in the place It's supposed to go.
    any answer will be greatly apreciated

    The issue is caused because you are using the response to get the writer directly.
    The JSP has gotten the same writer, but has wrapped it in a JSPWriter class. That class has got a buffer.
    So it writes the beginning html to the JSPWriter buffer.
    You write your stuff to the response writer - gets sent to the output.
    It writes more stuff to the JSPWriter buffer, then flushes that buffer - at which point all the text written into the JSP writer now gets added to the response.
    You see how your code is coming out first?
    Solution - instead of getting the writer from the response, pass the writer into your method (maybe instead of response if you don't use response for anything else)
    public void metodo(Writer jspWriter, String tableName, String column name, String selectName){
      PrintWriter out = new PrintWriter(jspWriter);
      ...That means that you will be writing to the same writer, and the text should come out in sequence.
    Cheers,
    evnafets

  • How to find the location of java class files at runtime?

    Does anyonw have an idea how to get the file name of a java class given the binary name?
    I mean how can I get the file name for my class myPackage.myClass?
    I am looking for a function which takes "myPackage.myClass" as input and returns
    "c:\\javaprojects\\myPackage\\myClass.class".
    I tried to do it with the LassLoader class but it did not work. Does anyone have an idea if the Java core API already has a function which does that?
    Thanks, Bernhard

    Hi ,
    It is a simple SAMPLE code , you think and build a logics to handle all classes.
    Try this sample, It doesn't handle the inner classes you put logic to handle the logics for inner classes.
    The inner class format is it contains the character $ in the File location but inside the code you put "." instedad of "$" you to find out or put trials.
    package pkg1;
    import java.io.* ;
    import java.util.* ;
    import java.util.zip.* ;
    public class ClsB {
         private static Vector clsPaths ;
         public static Vector getPaths() {
              if( clsPaths == null ) {
                   String paths = System.getProperty( "java.class.path" ) ;
                   // In linux or solarise use the following
                   // StringTokenizer st = new StringTokenizer( paths , ":\n" ) ;
                   StringTokenizer st = new StringTokenizer( paths , ";\n" ) ;
                   clsPaths = new Vector() ;
                   while( st.hasMoreTokens() ) {
                        String path = st.nextToken() ;
                        File f = new File( path ) ;
                        if( f.exists() ) {
                             try {
                                  f = f.getCanonicalFile() ;
                                  clsPaths.add( f ) ;
                             }catch( IOException ioe ) { }
              return clsPaths ;
         public static String findClassPath( String fullClassName ) {
              Vector v = getPaths() ;
              for( int i = 0 ; i < v.size() ; i++ ) {
                   File f = ( File ) v.get( i ) ;
                   String path = findIn( f , fullClassName ) ;
                   if( path != null )
                        return path ;
              return null ;
         static boolean isJar( File jar ) {
              if( jar.isDirectory() )
                   return false ;
              try {
                   ZipFile zf = new ZipFile( jar ) ;
                   return true ;
              } catch ( ZipException ze ) {
                   // It is not a jar file
                   // you handle this
              } catch ( IOException ioe ) {
                   ioe.printStackTrace() ;
              return false ;
         static String findIn( File dirOrJar , String clsName ) {
              if( isJar( dirOrJar ) ) {
                   // It is something different because the class inside the jar file
                   // Simply I return the jar file location and the entry name ,
                   // but you put action what you want
                   if( isInsideJar( dirOrJar , clsName ) ) {
                        // All archieve file using the path separator is '/'
                        return dirOrJar.getPath() + "!" + clsName.replace( '.' , '/' ) + ".class" ;
              } else {
                   File f = new File( dirOrJar , clsName.replace( '.' , File.separatorChar ) + ".class" ) ;
                   if( f.exists() ) {
                        return f.getPath() ;
              return null ;
         static boolean isInsideJar( File jar , String clsName ) {
              try {
                   ZipFile zf = new ZipFile( jar ) ;
                   // All archieve file using the path separator is '/'
                   ZipEntry ze = zf.getEntry( clsName.replace( '.' , '/' ) + ".class" );
                   return ( ze != null ) ;
              } catch ( ZipException ze ) {
                   ze.printStackTrace() ;
              } catch ( IOException ioe ) {
                   ioe.printStackTrace() ;
              return false ;
         public static void main(String[] args) {
              System.out.println( findClassPath( "pkg1.ClsB" ) );
              System.out.println( findClassPath( "pkg1.pkg2.ClsA" ) );
    }

  • What is the best practise to provide a text file for a Java class in a OSGi bundle in CQ?

    This is probably a very basic question so please bear with me.
    What is the best way to provide a .txt file to be read by a Java class in a OSGi bundle in CQ 5.5?
    I have been able to read a file called "test.txt" that I put in a structure like this /src/resources/<any-sub-folder>/test.txt  from my java class  at /src/main/java/com/test/mytest/Test.java using the bundle's getResource and getEntry calls but I was not able to use the context.getDataFile. How is this getDataFile method call to be used?
    And what if I want to read the file located in another bundle, is it possible? or can I add the file to some repository and then access it - but I am not clear how to do this.
    And I would also like to know what is the best practise if I need to provide a large  data set in a flat file to be read by a Java class in CQ5.
    Please provide detailed steps or point me to a how to guide or other helpful resources as I am a novice.
    Thank you in advance for your time and help.
    VS

    As you can read in the OSGi Core specification (section 4.5.2), the getDataFile() method is to read/write a file in the bundle's private persistent area. It cannot be used to read files contained in the bundle. The issue Sham mentions refers to a version of Felix which is not used in CQ.
    The methods you mentioned (getResource and getEntry) are appropriate for reading files contained in a bundle.
    Reading a file from the repository is done using the JCR API. You can see a blueprint for how to do this by looking at the readFile method in http://svn.apache.org/repos/asf/jackrabbit/tags/2.4.0/jackrabbit-jcr-commons/src/main/java /org/apache/jackrabbit/commons/JcrUtils.java. Unfortunately, this method is not currently usable as it was declared incorrectly (should be a static method, but is an instance method).
    Regards,
    Justin

  • Java .class files low-level (hex) editing?

    Hello, all!
    I have a problem:
    There is an application (namely a J2ME instant messanger for Nokia mobiles). It is a non-commercial application. But unfortunately, there is a bad bug in the application. It is not even a bug, it is more a feature - but it does not support Russian (cyrillic) characters encoding. Russian characters in all incoming messages are displayed with a kind of hierogliphs.
    I wrote to developers (and not only I did - I know at least 3 russian people who also wrote a developer about this) - but unsuccessful. Developer keeps silent.
    So what I decided is to fix the bug by myself :) By decompilation, e t.c.
    Unfortunally, the midlet is hard obfuscated :( So it took me some hours of reading obfuscated code, and now I see some ways which I must try to solve the problem. I think I must write a code which processes the desired String variables (Despite obfuscation, I can see which Strings to process to obtain effect), and inject this code somewhere to be executed, and from where it could reach the desired Strings.
    But the great problem is that obfuscated classes produce a lot of erroneus code, which can not be compiled back. So I decide to reject the decompilation at all, or at least of the big classes (where it is a lot of errors, which I can not correct manually).
    In some moments, the application stores the desired Strings in the java.lang.Hashmap. So if I could place my processing code into the Hashmap methods, then I could easily process what I need.
    Evidently, I can not edit the real basic java classes. But why not to make the applicaton using my class with identical functionality, instead of java.jang.Hashmap?
    My idea now is to edit the .class file of the midlet (yeah, edit with notepad), replacing all the references to "java/lang/Hashmap" or "java.lang.Hasmap" with "java/lang/Fuckmap" and "java.lang.Fuckmap".
    So did I (replaced it in norepad).
    I read the Sun's documentation about .class file structure, and it seems that nothing is against it. There is no encryption, no checksums, e t.c.
    Then I produced "Fuckmap" class this way:
    import java.lang.Hashmap;
    class Fuckmap extends Hashmap {}
    (compiled and preverified it of course)
    And placed it into java/lang folder inside the application jar.
    I instead of working properly, I get the "Application error - invalid constant pool entry"). What do I do wrong?

    2 lexzeus, mlk:
    I understood you.
    I jave just tried it, and used "jaga/util/Fuckmap" (jaga, not java). But still the same ("Invalid constant pool entry). I tried two times (maybe I could make something wrong?), both times took "clean" jar package, e t.c.
    Do you really think jav.alang.Hashmap should help now? I have ony little hope :(

Maybe you are looking for

  • Sales Employee without HR - Maintaining Address Details

    Hi All, We are using Sales Employee without HR. When the Sales Employee is linked as a partner on a Sales Document, the address details are filled with "XXXX". Example: Name: Graham Shanks Street: XXXXXX Post Code: XXXX City: XXXXXX I want to be able

  • Can't  login to Designer Product in Oracle 8i Personal Edition

    HI YOU! Can you help me? I have problems starting Oracle Designer 6.x in my pc Windows 98 and Personal Edition 8i. I'm not in a LAN and I don't have the client installed. I don't know the user systems for Designer, I prooved with the SYSTEM anad SYS

  • How can i find Photoshop to edit my own image?

    How can I find Photoshop to edit my own image? I have seen a lot of learning videos,

  • IOS 8 battery draning on iPhone 5s

    Since updating my iPhone 5s to iOS 8, the battery has been draining like crazy. I could use my 5s for almost 8 hours straight with Wi-fi on till the battery drops to 20%. Now with the same usage pattern, I just get over 6 hours until the battery runs

  • Lib error when trying to run brtools

    When running brtools for Oracel 9.2.0.6 on HPIA64 I get this error. /usr/lib/pa20_64/dld.sl: Unable to find library 'libclntsh.sl.9.0'. sh: 15558 Killed How do I fix this error? I am using brtools: DBATL640O92_45-20000234.SAR