code: public static void extractNativeResources()
      {
          synchronized(WindowsFaxClientSpiHelper.NATIVE_LOCK)
          {
              //get target directory
              File directory=IOHelper.getFax4jInternalTemporaryDirectory();
              
              //extract resources
              String[] names=new String[]{"fax4j.dll","fax4j.exe"};
              int amount=names.length;
              String name=null;
              File file=null;
              InputStream inputStream=null;
              OutputStream outputStream=null;
              for(int index=0;index<amount;index++)
              {
                  //get next resource
                  name=names[index];
                  
                  //get file
                  file=new File(directory,name);
                  
                  if(!file.exists())
                  {
                      //get input stream
                      inputStream=WindowsFaxClientSpiHelper.class.getResourceAsStream(name);
                      if(inputStream!=null)
                      {
                          try
                          {
                              //create output stream
                              outputStream=new FileOutputStream(file);
                              
                              //write data to file
                              IOHelper.readAndWriteStreams(inputStream,outputStream);
                          }
                          catch(IOException exception)
                          {
                              throw new FaxException("Unable to extract resource: "+name,exception);
                          }
                      }
                  }
              }
          }
      }
docs: This function extracts the native resources (the fax4j.exe and fax4j.dll)
  and pushes them to the fax4j temporary directory.