Error appending objects to file

Here is the source code i'm using
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
public class SerialiseTest {
     public static void main(String[] args) {
          TestObject o1 = new TestObject(1);
          try {
               ObjectOutputStream oout = new ObjectOutputStream(
                         new FileOutputStream("output.dat",true));
               oout.writeObject(o1);
               oout.flush();
               oout.close();
               ObjectInputStream oin = new ObjectInputStream(
                         new FileInputStream("output.dat"));
while(true){
               Object ob1 = oin.readObject();
               System.out.println(ob1);
          } catch (Exception exc){
               exc.printStackTrace();
class TestObject implements Serializable {
     private int foo;
     public TestObject(int i) {
          foo = i;
     public String toString() {
          return "TestObject::"+foo;
here is the exception
java.io.StreamCorruptedException: invalid type code: AC
                    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1356)
                    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
                    at SerialiseTest.main(SerialiseTest.java:26)

Do something else. You didn't say what your requirements were or why you were trying to do that, so you can't expect much of an answer.

Similar Messages

  • Net.sf.jasperreports.engine.JRException: Error loading object from file : C

    I started using JasperReports for my web application report generation. I'm using JSPs for web development.
    I created a .jrxml file using iReport and used the following code to generate the report.
    try {
              JasperDesign jasperDesign = JRXmlLoader.load("C:\\tomcat\\webapps\\web\\JSP\\reports\\samples\\pmm-final.jrxml");
              JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    // Second, create a map of parameters to pass to the report.
              Map parameters = new HashMap();
              parameters.put("Title", "JasperReport");
    // Third, get a database connection
              Connection conn = null;
              Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              conn=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=C:/tomcat/webapps/db1/db1.mdb");
    // Fourth, create JasperPrint using fillReport() method
              JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,
                                  parameters, conn);
    // You can use JasperPrint to create PDF
              //JasperExportManager.exportReportToPdfFile(jasperPrint, "C:\\tomcat\\webapps\\web\\JSP\\reports\\TestReport.pdf");
              JasperExportManager.exportReportToHtmlFile(jasperPrint, "C:\\tomcat\\webapps\\web\\JSP\\reports\\TestPMM.html");
              JRXlsExporter exporter = new JRXlsExporter();
              exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
              exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "C:\\tomcat\\webapps\\web\\JSP\\reports\\TestPMM.xls");
              exporter.exportReport();
    // Or to view report in the JasperViewer
              //JasperViewer.viewReport(jasperPrint);
    } catch (JRException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    } catch (SQLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
    The above pmm-final.jrxml uses a subreport 'top.jasper'. Error being thrown while loading top.jasper file. Error is as follows.
    java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; lo
    cal class incompatible: stream classdesc serialVersionUID = 604, local class ser
    ialVersionUID = 606
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:86
    at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLo
    ader.java:236)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubre
    port.java:295)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
    340)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBand(JRVert
    icalFiller.java:1224)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVe
    rticalFiller.java:353)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
    erticalFiller.java:205)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
    alFiller.java:119)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    613)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    483)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:77
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
    nager.java:248)
    at org.apache.jsp.JSP.UserGuide_jsp._jspService(org.apache.jsp.JSP.UserG
    uide_jsp:74)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:325)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
    95)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:214)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:675)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:868)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    NESTED BY :
    java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBaseReport; lo
    cal class incompatible: stream classdesc serialVersionUID = 604, local class ser
    ialVersionUID = 606
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:86
    at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLo
    ader.java:236)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubre
    port.java:295)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
    340)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBand(JRVert
    icalFiller.java:1224)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVe
    rticalFiller.java:353)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
    erticalFiller.java:205)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
    alFiller.java:119)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    613)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    483)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:77
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
    nager.java:248)
    at org.apache.jsp.JSP.UserGuide_jsp._jspService(org.apache.jsp.JSP.UserG
    uide_jsp:74)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:325)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
    95)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:214)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:675)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:868)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    NESTED BY :
    net.sf.jasperreports.engine.JRException: Error loading object from file : C:\tom
    cat\webapps\web\JSP\reports\samples\top.jasper
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:90
    at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLo
    ader.java:236)
    at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubre
    port.java:295)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:
    340)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageBand(JRVert
    icalFiller.java:1224)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVe
    rticalFiller.java:353)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRV
    erticalFiller.java:205)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVertic
    alFiller.java:119)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    613)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:
    483)
    at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:77
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillMa
    nager.java:248)
    at org.apache.jsp.JSP.UserGuide_jsp._jspService(org.apache.jsp.JSP.UserG
    uide_jsp:74)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper
    .java:325)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:2
    95)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
    icationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
    ilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
    alve.java:214)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
    alve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
    ava:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
    ava:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
    ve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
    a:148)
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:306)
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:745)
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.ja
    va:675)
    at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:868)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
    ool.java:684)
    at java.lang.Thread.run(Unknown Source)
    Caused by: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBas
    eReport; local class incompatible: stream classdesc serialVersionUID = 604, loca
    l class serialVersionUID = 606
    at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
    at java.io.ObjectInputStream.readClassDesc(Unknown Source)
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
    at java.io.ObjectInputStream.readObject0(Unknown Source)
    at java.io.ObjectInputStream.readObject(Unknown Source)
    at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:86
    ... 33 more
    Anyone pls help. It's bit urgent. Thanks.

    I was using iReport v0.5.0 and it uses jasperreports-0.6.7.jar (v0.6.7) of
    JasperReports. I compiled and i deployed my application in BEA weblogic server. I got the error listed below. Only after i saw your
    response explaining that iReport was the issue, i checked the iReport lib directory and found this version of jasperreport jar.
    iReport creates a java source file which is used to a jasper file.
    iReport will link in the v0.6.7 version of jasperReports. When you
    deploy your web application it will recognize this version through the compiled jasper file and give you the InvalidClassException, even
    though you only have one jasperReport jar deployed with your war file.
    The way i fixed this problem was to create my web application with the
    jasperreport jar comes with iReport.
    Thanks for mentioning iReport.
    Christopher
    Error:
    Caused by: java.io.InvalidClassException: net.sf.jasperreports.engine.base.JRBas
    eReport; local class incompatible: stream classdesc serialVersionUID = 607, local class serialVersionUID = 10002
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:463)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1435)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1521)
    ...

  • How to read appended objects from file with ObjectInputStream?

    Hi to everyone. I'm new to Java so my question may look really stupid to most of you but I couldn't fined a solution by myself... I wanted to make an application, something like address book that is storing information about different people. So I decided to make a class that will hold the information for each person (for example: nickname, name, e-mail, web address and so on), then using the ObjectOutputStream the information will be save to a file. If I want to add a new record for a new person I'll simply append it to the already existing file. So far so good but soon I discovered that I can not read the appended objects using ObjectInputStream.
    What I mean is that if I create new file and then in one session save several objects to it using ObjectOutputStream they all will be read with no problem by ObjectInputStream. But after that if in a new session I append new objects they won't be read. The ObjectInputStream will read the objects from the first session after that IOException will be generated and the reading will stop just before the appended objects from the second session.
    The following is just a simple test it's not actual code from the program I was talking about. Instead of objects containing different kind of information I'm using only strings here. To use the program use as arguments in the console "w" to create new file followed by the file name and the strings you want save to the file (as objects). Example: "+w TestFile.obj Thats Just A Test+". Then to read it use "r" (for reading), followed by the file name. Example "+r TestFile.obj+". As a result you'll see that all the strings that are saved in the file can be successfully read back. Then do the same: "+w TestFile.obj Thats Second Test+" and then read again "+r TestFile.obj+". What will happen is that the strings only from the first sessions will be read and the ones from the second session will not.
    I am sorry for making this that long but I couldn't explain it more simple. If someone can give me a solution I'll be happy to hear it! ^.^ I'll also be glad if someone propose different approach of the problem! Here is the code:
    import java.io.*;
    class Fio
         public static void main(String[] args)
              try
                   if (args[0].equals("w"))
                        FileOutputStream fos = new FileOutputStream(args[1], true);
                        ObjectOutputStream oos = new ObjectOutputStream(fos);
                        for (int i = 2; i < args.length ; i++)
                             oos.writeObject(args);
                        fos.close();
                   else if (args[0].equals("r"))
                        FileInputStream fis = new FileInputStream(args[1]);
                        ObjectInputStream ois = new ObjectInputStream(fis);
                        for (int i = 0; i < fis.available(); i++)
                             System.out.println((String)ois.readObject());
                        fis.close();
                   else
                        System.out.println("Wrong args!");
              catch (IndexOutOfBoundsException exc)
                   System.out.println("You must use \"w\" or \"r\" followed by the file name as args!");
              catch (IOException exc)
                   System.out.println("I/O exception appeard!");
              catch (ClassNotFoundException exc)
                   System.out.println("Can not find the needed class");

    How to read appended objects from file with ObjectInputStream? The short answer is you can't.
    The long answer is you can if you put some work into it. The general outline would be to create a file with a format that will allow the storage of multiple streams within it. If you use a RandomAccessFile, you can create a header containing the length. If you use streams, you'll have to use a block protocol. The reason for this is that I don't think ObjectInputStream is guaranteed to read the same number of bytes ObjectOutputStream writes to it (e.g., it could skip ending padding or such).
    Next, you'll need to create an object that can return more InputStream objects, one per stream written to the file.
    Not trivial, but that's how you'd do it.

  • Why cant i append objects to a file

    i'm amazed that i cannot append objects to a file
    as i did earlier in c++
    it gives StreamCorrupt error

    Ashutosh.options4u wrote:
    i'm amazed that i cannot append objects to a file
    as i did earlier in c++Whatever you did in C++ didn't involve ObjectOutputStream or Java Serialization. You can append anything but objects to a file in Java. The reasons are two:
    (a) ObjectOutputStream writes a header which ObjectInputStream expects to find at the beginning of the stream and nowhere else
    (b) closing an ObjectOutputStream and starting a new one to append to the same file breaks the specified semantics for preservation of object graphs under Serialization, which can only be implemented within a single instance of ObjectOutputStream.
    it gives StreamCorrupt errorI agree.

  • Error this object is corrupt or is no longer available while trying to open a embedded files in word 2007 or 2013

    Hi All
    Word 2007 and 2013 always show this error
    This object is corrupt or is no longer available while clicking a embedded files( like pdf, doc and xls). I tried reinstall office 2007, and office 2013. But still have same problems.
    I surf internet, find out solution like turnning  off the add-on,  but not working for me, and I do not install Norton AntiVirus.
    Does anyone know what the solution of this issue is, I do not have any idea right now.
    Thanks in advance!!!!!

    I notice there is a cross post on Answer Forum:
    http://answers.microsoft.com/en-us/office/forum/office_2013_release-word/error-the-object-is-corrupt-or-is-no-longer/fde2160e-fc19-4f90-81db-4f569fac7b95
    Is Dinel's suggestion helpful?
    Tony Chen
    TechNet Community Support

  • Appending objects in text file and searching.......

    I have been trieng to implement simple search operation on the class objects stored in the text file. but when i try to append new objects in the same file and search for the same; java.io.StreamCorruptedException is thrown. wat the problem is, that wen i append to the text file; it stores some header information before the actual object is stored and on the deserialization, this header information is causing the exception. the same header information is stored every time, i append to the file. anybody knws hw to get past it??? my code is as given below:
    package coding;
    import java.io.BufferedReader;
    import java.io.EOFException;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.FileWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.ObjectInputStream;
    import java.io.ObjectOutputStream;
    import java.io.PrintWriter;
    import java.io.Serializable;
         class Employee implements Serializable{
              private static final long serialVersionUID = 1L;
              String name;
              int id;
              public int getId() {
                   return id;
              public void setId(int id) {
                   this.id = id;
              public String getName() {
                   return name;
              public void setName(String name) {
                   this.name = name;
              public Employee(String name, int id) {
                   this.name = name;
                   this.id = id;
         public class FileSearch{
         public static void main(String[] args) throws IOException
              /*Entering the records into the file*/
              Employee ob = null;
              File file=new File("c:\\abc.txt");
              InputStreamReader isr=new InputStreamReader(System.in);
              BufferedReader stdin=new BufferedReader(isr);
              char fileExist='y';
              if(file.exists())
                   System.out.println("File already exists!!!");
                   System.out.println("Append New Records(press y) Or Search Existing File(press any other button)?:");
                   String strTemp=stdin.readLine();
                   fileExist=strTemp.charAt(0);
              else
                   System.out.println("File doesnt exist; creating new file......");
              if(fileExist=='y')
                   FileOutputStream fos=new FileOutputStream(file,true);
                   ObjectOutputStream oos=new ObjectOutputStream(fos);
                   char choice='y';
                   System.out.println("Enter records:");
                   while(choice=='y')
                        System.out.println("enter id:");
                        String id_s=stdin.readLine();
                        int id=Integer.parseInt(id_s);
                        System.out.println("enter name:");
                        String name=stdin.readLine();
                        ob=new Employee(name,id);
                        try
                             oos.writeObject(ob);
                             //count++;
                             oos.flush();
                        catch(Exception e)
                             e.printStackTrace();
                        System.out.println("Enter more records?(y/n)");
                        String str1=stdin.readLine();
                        choice=str1.charAt(0);
                   oos.close();
              /*Searching for the record*/
              System.out.println("Enter Record id to be searched:");
              String idSearchStr=stdin.readLine();
              int idSearch=Integer.parseInt(idSearchStr);
              try
                   FileInputStream fis=new FileInputStream(
                             file);
                   ObjectInputStream ois=new ObjectInputStream(fis);
                   int flag=1;
                   FileReader fr=new FileReader(file);
                   int c=fr.read();
                   for(int i=0;i<c;i++)
                        Object ff=ois.readObject();
                        Employee filesearch=(Employee)ff;
                        if(filesearch.id==idSearch)
                             flag=0;
                             break;
                   ois.close();
                   if(flag==1)
                        System.out.println("Search Unsuccessful");
                   else
                        System.out.println("Search Successful");
              catch(Exception e)
                   e.printStackTrace();
    }

    966676 wrote:
    All what I need to elect by who this word repeated. But I don't know really how to make It, maybe LinkedListYou should choose the simplest type fullfilling your needs. In this case I'd go for <tt>HashSet</tt> or <tt>ArrayList</tt>.
    or I dont know, someone could help me?You need to introduce a variable to store the actual name which must be resetted if an empty line is found and then gets assigned the verry next word in the file.
    bye
    TPD

  • How to append Objects in a file.

    i have the following sample code ,
    its not read data properly and throws Stream Corrupted Exception in the appended record. ( at Last statement of try block ).
    Thanks,
    import java.io.*;
    public class IOError {
    public static void main(String[] args) {
    try {
    ObjectOutputStream oos = new ObjectOutputStream(
    new FileOutputStream("data.dat"));
    oos.writeObject(new String("string 1"));
    oos.writeObject(new String("string 2"));
    oos.flush();
    oos.close();
    ObjectInputStream ois = new ObjectInputStream(new FileInputStream("data.dat"));
    System.out.println("----- Round 1 Starts ---------");
    System.out.println((String) ois.readObject());
    System.out.println((String) ois.readObject());
    ois.close();
    ObjectOutputStream oos2 = new ObjectOutputStream(
    new FileOutputStream("data.dat",true)); // Appending Data
    oos2.writeObject(new String("string 3"));
    oos2.flush();
    oos2.close();
    ObjectInputStream ois2 = new ObjectInputStream(new FileInputStream("data.dat"));
    System.out.println("----- Round 2 Starts ---------");
    System.out.println((String) ois2.readObject());
    System.out.println((String) ois2.readObject());
    System.out.println((String) ois2.readObject()); // Stream Corrupted Exception
    catch(Exception e) {
    System.out.println(e);

    Nasty. When you open an ObjectOutputStream, it will write a few initializing bytes, so if you really want to append objects to a file, then after you read the first two strings, you need to create a new ObjectInputStream that will read those bytes.
    You could write an object indicating that now you are done with this ObjectOutputStream, so when you read the file and read this object, you know you have to create a new ObjectInputStream.
    oos.writeObject(new String("string 1"));
    oos.writeObject(new String("string 2"));
    oos.writeObject(null); // null could be used if you know you won't write any other null's in your code.
    //... append
    oos.writeObject(new String("string 3"));
    oos.writeObject(null);
    // read:
    FileInputStream fis = new FileInputStream("data.dat");
    ObjectInputStream ois2 = new ObjectInputStream(fis);
    String s;
    while ((s = (String)ois2.readObject()) != null) {
      System.out.println(s);
    ois2 = new ObjectInputStream(fis);
    while ((s = (String)ois2.readObject()) != null) {
      System.out.println(s);

  • Appending Objects to a File using serialization

    hi,
    I was wondering if I can append objects in a single file. For example, suppose there are 2 .java files. 1st file creates the Serialized file caleed sl.dat, opens it, writes the object, close it down.
    The 2nd file nw open that same file, sl.dat, in append mode, writes one more object and close it down.
    next I want to read each object of the file. Will it work in this fashion?
    I found a quite interesting discussion here. but it says that it is not possible.. is that true?
    Any clue? Is there any other mean to achieve this?

    arin wrote:
    kajbj wrote:
    I've done it by subclassing ObjectOutputStream. I could then add a constructor that took an argument that indicated if a header should be written or not.Can you explain what I need to done here... I have a class which extends ObjectOutputStream but what to do after that? What do u mean by header in the constructor?? Please help meYou do know that you have the source code for the class if you have a JDK? The source for ObjectOutputStream is in the src.zip.
    The normal constructor calls writeStreamHeader, and that is the problem if you are going to append data since you don't want to get the stream header more than once. Create a constructor that takes a boolean as argument, and only calls writeStreamHeader if the boolean is true.
    Kaj

  • Access denied error while writing a file to the file system - myfileupload.saveas() throws system.unauthorizedexception

    hi,
    as part of my requirement , i have to perform read and  write  operations of  few files [ using the file upload control in my custom visual web part] and on submit button click.
    but while writing these files - with the help of  fileupload control - and when i use  myfileupload.saveas(mylocation);
    - i am saving these files into my D:\ drive of my server , where i am executing my code -, am getting access denied error.
    it throws system.unauthorizedexception.
    i have given full control on that folder where i was trying to store my attached files. and also  after following asp.net forums,
    i have added  iusr group added and performed all those steps such that, the file is saved in my D:\ drive.
    but unfortunately  that didnt happen.
    also
    a) i am trying the code with runwithelevatedprivileges(delegate() )  code
    b) shared the drive within the  d :drive where i want o save the files.
    c) given the full privieleges for the app pool identity- in my case , its
    network service.
    the  other strange thing is that, the same code works perfectly in  other machine, where the same sp, vs 2012  etc were installed .
    would like to know, any other changes/ steps i need to make it on this  server, where i am getting the  error.
    help is  appreciated!

    vishnuS1984 wrote:
    Hi Friends,
    I have gone through scores of examples and i am failing to understand the right thing to be done to copy a file from one directory to another. Here is my class...So let's see... C:\GetMe1 is a directory on your machine, right? And this is what you are doing with that directory:
    public static void copyFiles(File src, File dest) throws IOException
    // dest is a 'File' object but represents the C:\GetMe1 directory, right?
    fout = new FileOutputStream (dest);If it's a directory, where in your code are you appending the source file name to the path, before trying to open an output stream on it? You're not.
    BTW, this is awful:
    catch (IOException e)
    IOException wrapper = new IOException("copyFiles: Unable to copy file: " +
    src.getAbsolutePath() + "to" + dest.getAbsolutePath()+".");
    wrapper.initCause(e);
    wrapper.setStackTrace(e.getStackTrace());
    throw wrapper;
    }1) You're hiding the original IOException and replacing it with your own? For what good purpose?
    2) Even if you had a good reason to do that, this would be simpler and better:
    throw new IOException("your custom message goes here", e);
    rather than explicitly invokign initCause and setStackTrace. Yuck!

  • CS5 is opening raw files as a smart object to files im currently working

    I just bough new CS 5 and find this big error. When i open raw file in Camera Raw and i have opened some jpg in CS5, it always opened as a smart object to this small jpg i have opened before. The same is doing my CS 5 when i drag some file from desktop, it always ended as a smart object in file im currently working with. Normaly it has to open as a new file not as a smart object in this file im already working with.

    How are you opening your RAW files? If you are dragging and dropping them onto Photoshop, on top of an already opened file's workspace -  all files will be placed as smart objects. If you drag the files to anywhere else in the interface, for instance the grey area on top of the workspace, they should open as usual. If you are opening them via Bridge or by double-clicking them in Explore, they should open as normal.

  • Error while using Rule file in loading data into Essbase through ODI

    Hi Experts,
    I am facing problem while loading data into Essbase. I am able to load data into Essbase successfully. But when i used Rule fule to add values to existing values am getting error.
    test is my Rule file.
    com.hyperion.odi.essbase.ODIEssbaseException: com.hyperion.odi.essbase.ODIEssbaseException: Cannot put olap file object. Essbase Error(1053025): Object [test] already exists and is not locked by user [admin@Native Directory]
         at org.apache.bsf.engines.jython.JythonEngine.exec(JythonEngine.java:146)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.execInBSFEngine(SnpScriptingInterpretor.java:346)
         at com.sunopsis.dwg.codeinterpretor.SnpScriptingInterpretor.exec(SnpScriptingInterpretor.java:170)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.scripting(SnpSessTaskSql.java:2458)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:48)
         at oracle.odi.runtime.agent.execution.cmd.ScriptingExecutor.execute(ScriptingExecutor.java:1)
         at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2609)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:540)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:453)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1740)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:338)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:214)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:263)
         at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:822)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:123)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:83)
         at java.lang.Thread.run(Thread.java:662)
    from com.hyperion.odi.common import ODIConstants
    from com.hyperion.odi.connection import HypAppConnectionFactory
    from java.lang import Class
    from java.lang import Boolean
    from java.sql import *
    from java.util import HashMap
    # Get the select statement on the staging area:
    sql= """select C1_HSP_RATES "HSP_Rates",C2_ACCOUNT "Account",C3_PERIOD "Period",C4_YEAR "Year",C5_SCENARIO "Scenario",C6_VERSION "Version",C7_CURRENCY "Currency",C8_ENTITY "Entity",C9_VERTICAL "Vertical",C10_HORIZONTAL "Horizontal",C11_SALES_HIERARICHY "Sales Hierarchy",C12_DATA "Data" from PLANAPP."C$_0HexaApp_PLData" where      (1=1) """
    srcCx = odiRef.getJDBCConnection("SRC")
    stmt = srcCx.createStatement()
    srcFetchSize=30
    #stmt.setFetchSize(srcFetchSize)
    stmt.setFetchSize(1)
    print "executing query"
    rs = stmt.executeQuery(sql)
    print "done executing query"
    #load the data
    print "loading data"
    stats = pWriter.loadData(rs)
    print "done loading data"
    #close the database result set, connection
    rs.close()
    stmt.close()
    Please help me on this...
    Thanks & Regards,
    Chinnu

    Hi Priya,
    Thanks for giving reply. I already checked that no lock are available for rule file. I don't know what's the problem. It is working fine without the Rule file, but throwing error only when using rule file.
    Please help on this.
    Thanks,
    Chinnu

  • Product Instance Registration Error Message: "System Failure: Error while retrieving xml file from database"

    Hi Planning installation Gurus,
    Did u get any luck to resolve this problem as i am also facing same problem "Error creating instance" during install of Planning 9.3.1. i tried 30-50 times reconfiguration every time same problem..
    OS: Vista Premium
    SQL Server 2005
    Essbase:9.3.1
    Error Message: "System Failure: Error while retrieving xml file from database"
    Details of error:::::::::::::::::::::::::
    at com.hyperion.planning.event.HspSysExtChangeHandler.run(Unknown Source
    Can not get JDBC connection for SYS external changed actions.
    Can not get JDBC connection.
    java.lang.NullPointerException
    at com.hyperion.planning.sql.HspSQLImpl.getConnection(Unknown Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.actionPoller(Unkno
    wn Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.run(Unknown Source
    Can not get JDBC connection for SYS external changed actions.
    Can not get JDBC connection.
    java.lang.NullPointerException
    at com.hyperion.planning.sql.HspSQLImpl.getConnection(Unknown Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.actionPoller(Unkno
    wn Source)
    at com.hyperion.planning.event.HspSysExtChangeHandler.run(Unknown Source
    Can not get JDBC connection for SYS external changed actions.
    Can not get JDBC connection.
    Pls provide Solution

    Hi John,
    though i am trying with SQl server authentication with different user but still status is same of planningSystemDB.properties
    SYSTEM_DB_DRIVER=hyperion.jdbc.sqlserver.SQLServerDriver
    SYSTEM_DB_URL=jdbc:hyperion:sqlserver://neeraj-PC:1433
    SYSTEM_DB_USER=windowsAuthentication
    SYSTEM_DB_PASSWORD=CAFBAEFNBGEAABHEDOADFKADACBGBIFHBLCDFBAFFH
    SYSTEM_DB_CATALOG=plandb
    SYSTEM_DB_TYPE=SQL
    INSTANCE=
    my steps:
    Using SQL Server Management Studio
    Changed Widows authentication to SQL server authentication mode
    In SQL Server Management Studio Object Explorer, right-click the server, and then click Properties.
    On the Security page, under Server authentication, select the new server authentication mode, and then click OK.
    In the SQL Server Management Studio dialog box, click OK to acknowledge the requirement to restart SQL Server.
    In SQL Server Management Studio Object Explorer, right-click the server, and then click Properties.
    On the Security page, under Server authentication, select the new server authentication mode, and then click OK.
    In the SQL Server Management Studio dialog box, click OK to acknowledge the requirement to restart SQL Server.
    To restart SQL Server from SQL Server Management Studio
    To enable the sa login by using Management Studio
    In Object Explorer, expand Security, expand Logins, right-click sa, and then click Properties.
    On the General page, you might have to create and confirm a password for the sa login.
    On the Status page, in the Login section, click Enabled, and then click OK.
    In Object Explorer, expand Security, expand Logins, right-click sa, and then click Properties.
    On the General page, you might have to create and confirm a password for the sa login.
    On the Status page, in the Login section, click Enabled, and then click OK.}}}
    anything else should i change.................

  • "Template import error: No VM configure file found" on brand new setup

    Previously, I posted Console does not launch OVM 3.1.1, Win7x32 Firefox15/IE8 - Empty .jnlp file which was about VM Console not launching. Since this is a new installation, and it seemed to be a unique problem, I scratched the whole installation and started again from scratch. Everything, including the NFS file server, was re-installed from scratch CD OS installation.
    The process is pretty straightforward once you're used to it, and in less than three hours I was ready again to import my first template (a template I had imported before). But now, I submit the the request, and almost immediately the process aborts. (You can see in the information below, that 1 second passes between the Import request (06:32:36) and the failure.)
    Thing is, it takes about three minutes, even locally on the web server, to get an index of that large file (tar tzf), and at completion, the vm config file is listed.
    Am I misreading the error? My web searches for enlightenment found only one good hit on this error, and in that case it appeared to be an "out of space" issue. In this case, though, I'm importing a 5GB tarfile into a 390GB, otherwise-empty file system, so I don't think that is the issue. The failure in ovs-agent.log is below. What other information may I provide to get to the bottom of this? (Thanks for any guidance/help, of course!)
    [2012-10-31 06:31:40 3341] DEBUG (monitor:36) Cluster state changed from [Heartbeating] to [DLM_Ready]
    [2012-10-31 06:31:40 3341] INFO (notification:67) Notification sent: {CLUSTER} {MONITOR} Cluster state changed from [Heartbeating] to [DLM_Ready]
    [2012-10-31 06:31:40 3338] INFO (notification:193) Sending notification: {CLUSTER} {MONITOR} Cluster state changed from [Heartbeating] to [DLM_Ready]
    [2012-10-31 06:31:48 4914] DEBUG (service:77) discover_cluster: ()
    [2012-10-31 06:31:48 4914] DEBUG (service:85) discover_cluster: call completed.
    [2012-10-31 06:32:03 4926] DEBUG (service:77) storage_plugin_mount: ('oracle.generic.NFSPlugin.GenericNFSPlugin', {'status': '', 'admin_user': None, 'admin_host': None, 'uuid': '0004fb00000900003cf41964f3476788', 'total_sz': 0, 'admin_passwd': '******', 'storage_desc': '', 'free_sz': 0, 'access_host': 'filesrv.ps.***.com', 'storage_type': 'FileSys', 'alloc_sz': 0, 'access_grps': [], 'used_sz': 0, 'name': '0004fb00000900003cf41964f3476788'}, {'status': '', 'uuid': 'fc3564eb-ce8b-489c-96bc-df6de2cc8a11', 'ss_uuid': '0004fb00000900003cf41964f3476788', 'size': '330279518208', 'free_sz': '330075340800', 'state': 2, 'access_grp_names': [], 'access_path': 'filesrv.ps.***.com:/mnt/ps_big/repo/repo', 'name': 'nfs:/mnt/ps_big/repo/repo'}, '/OVS/Repositories/0004fb0000030000659e0ce6f2ecfb55', None, True, [])
    [2012-10-31 06:32:03 4926] INFO (storageplugin:108) storage_plugin_mount(oracle.generic.NFSPlugin.GenericNFSPlugin)
    [2012-10-31 06:32:03 4926] DEBUG (NFSPlugin:353) cmd = ['mount', '-t', 'nfs', 'filesrv.ps.***.com:/mnt/ps_big/repo/repo', '/OVS/Repositories/0004fb0000030000659e0ce6f2ecfb55']
    [2012-10-31 06:32:03 4926] DEBUG (service:85) storage_plugin_mount: call completed.
    [2012-10-31 06:32:03 4931] DEBUG (service:77) add_repository: ('filesrv.ps.***.com:/mnt/ps_big/repo/repo', '0004fb0000030000659e0ce6f2ecfb55')
    [2012-10-31 06:32:03 4931] DEBUG (service:85) add_repository: call completed.
    [2012-10-31 06:32:36 4972] DEBUG (linux:847) async call function: import_template
    [2012-10-31 06:32:36 4975] DEBUG (service:77) import_template: ('0004fb0000030000659e0ce6f2ecfb55', '0004fb0000140000fdc18a572a244015', ['http://aspire/pstop/OVM_EL5U7_X86_64_TOOLS8_52_06_PVM.tgz'])
    [2012-10-31 06:32:37 4975] INFO (notification:74) async_proc_prog: notification {ASYNC_PROC} progress PID 4975 status {'OBJECT': 'template', 'TOTAL_OBJECT_COUNT': 1, 'CURRENT_OBJECT_COUNT': 1, 'TOTAL_BYTES': 0L, 'CURRENT_BYTES': 613L, 'OPERATION': 'download'}
    [2012-10-31 06:32:37 4975] INFO (notification:67) Notification sent: {ASYNC_PROC} progress PID 4975
    [2012-10-31 06:32:37 3338] INFO (notification:193) Sending notification: {ASYNC_PROC} progress PID 4975
    [2012-10-31 06:32:37 4975] ERROR (service:96) catch_error: Template import error: No VM configure file found.
    Traceback (most recent call last):
    File "/usr/lib64/python2.4/site-packages/agent/service.py", line 94, in wrapper
    return func(*args)
    File "/usr/lib64/python2.4/site-packages/agent/hypervisor/xenxm.py", line 1041, in import_template
    raise RuntimeError('Template import error: %s' % err)
    RuntimeError: Template import error: No VM configure file found.
    [2012-10-31 06:32:37 4975] DEBUG (linux:879) ovs_async_proc: pid 4975 status 1 output Template import error: No VM configure file found.
    [2012-10-31 06:32:37 4975] INFO (notification:67) Notification sent: {ASYNC_PROC} exit PID 4975
    [2012-10-31 06:32:37 3338] INFO (notification:193) Sending notification: {ASYNC_PROC} exit PID 4975
    [2012-10-31 06:32:39 4987] DEBUG (service:77) storage_plugin_listFileSystems: ('oracle.generic.NFSPlugin.GenericNFSPlugin', {'status': '', 'admin_user': None, 'admin_host': None, 'uuid': '0004fb00000900003cf41964f3476788', 'total_sz': 0, 'admin_passwd': '******', 'storage_desc': '', 'free_sz': 0, 'access_host': 'filesrv.ps.***.com', 'storage_type': 'FileSys', 'alloc_sz': 0, 'access_grps': [], 'used_sz': 0, 'name': '0004fb00000900003cf41964f3476788'}, True)
    [2012-10-31 06:32:39 4987] INFO (storageplugin:108) storage_plugin_listFileSystems(oracle.generic.NFSPlugin.GenericNFSPlugin)
    [2012-10-31 06:32:39 4987] DEBUG (NFSPlugin:142) ENTER: listFileSysytems()
    [2012-10-31 06:32:39 4987] DEBUG (NFSPlugin:257) EXIT : listFileSysytems()
    [2012-10-31 06:32:39 4987] DEBUG (service:85) storage_plugin_listFileSystems: call completed.
    [2012-10-31 06:32:39 5005] DEBUG (service:77) discover_pool_filesystem: ()
    [2012-10-31 06:32:39 5005] DEBUG (service:85) discover_pool_filesystem: call completed.

    How did you get the template to where you staged it?
    I'd say the template is corrupt or you only have a partial template.
    I did notice the call to the template is based on the short name of the host. Can you confirm the VM manager can access the http path via short name?

  • Error ASPRUNTIME: Object reference not set to an instance of an object.in Visual Studio in method CopyPrecompiledFile.

    Hello, I have this issue and Ihave wasted atleast 2 days with this one. I have tried all possible solutions -
    1. Turn Off Real time McAffee scanning  -- I do not have real time scanning ON
    2. Delete Bin folder and start all over by adding references -- Did not work
    3. delete .compiles or refresh filesdelete temp files from asp.net temp files folder -- no .Compiled file. Deleted refresh files but no use
    4. change temp file for appliation in compilation tag of web config -- No use
    My application framework is .NET 4.5 and VSD 2012. I have tried to compile from C:\WINDOWS\Mi
    crosoft.NET\Framework folder as well as C:\WINDOWS\Mi
    crosoft.NET\Framework64 folder. Both gave same error.
    I need urgent assistance plz.
    Here is stack trace :
    C:\Development\Convergence\Applications\CAP\WixSetup\WixSetupView>"C:\WINDOWS\Mi
    crosoft.NET\Framework\v4.0.30319\aspnet_compiler.exe" -u -fixedNames -p "C:\Deve
    lopment\Convergence\Applications\CAP\TouchPointTier\Presentations" -v / "C:\Deve
    lopment\Convergence\Applications\CAP\PrecompiledWeb\ConvergenceCAP" -errorstack
    Microsoft (R) ASP.NET Compilation Tool version 4.0.30319.17929
    Utility to precompile an ASP.NET application
    Copyright (C) Microsoft Corporation. All rights reserved.
    error ASPRUNTIME: Object reference not set to an instance of an object.
    [NullReferenceException]: Object reference not set to an instance of an object.
       at System.Web.Compilation.BuildManager.CopyPrecompiledFile(VirtualFile vfile,
     String destPhysicalPath)
       at System.Web.Compilation.BuildManager.CopyStaticFilesRecursive(VirtualDirect
    ory sourceVdir, String destPhysicalDir, Boolean topLevel)
       at System.Web.Compilation.BuildManager.CopyStaticFilesRecursive(VirtualDirect
    ory sourceVdir, String destPhysicalDir, Boolean topLevel)
       at System.Web.Compilation.BuildManager.CopyStaticFilesRecursive(VirtualDirect
    ory sourceVdir, String destPhysicalDir, Boolean topLevel)
       at System.Web.Compilation.BuildManager.CopyStaticFilesRecursive(VirtualDirect
    ory sourceVdir, String destPhysicalDir, Boolean topLevel)
       at System.Web.Compilation.BuildManager.PrecompileAppInternal(VirtualPath star
    tingVirtualDir, IEnumerable`1 excludedVirtualPaths)
       at System.Web.Compilation.BuildManager.PrecompileApp(VirtualPath startingVirt
    ualDir, IEnumerable`1 excludedVirtualPaths)
       at System.Web.Compilation.BuildManager.PrecompileApp(ClientBuildManagerCallba
    ck callback, IEnumerable`1 excludedVirtualPaths)
       at System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCa
    llback callback, List`1 excludedVirtualPaths)
       at System.Web.Compilation.BuildManagerHost.PrecompileApp(ClientBuildManagerCa
    llback callback, List`1 excludedVirtualPaths)
       at System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuil
    dManagerCallback callback, Boolean forceCleanBuild)
       at System.Web.Compilation.ClientBuildManager.PrecompileApplication(ClientBuil
    dManagerCallback callback)
       at System.Web.Compilation.Precompiler.Main(String[] args)
    C:\Development\Convergence\Applications\CAP\WixSetup\WixSetupView>pause
    Press any key to continue . . .

    I know these warning are not related to my issue that is the reason i am not able to understand what is wrong with it. Its a huge application and compiliing takes atleast 6-7 hrs and after that I get error in "copyPrecompiledFiles" method.
    I have circular reference issue in application but when I build application in specific sequece, it goes away so after builing application with 0 errors, i execute command to precompile
    rmdir C:\Precompiled /s /q
    mkdir C:\Precompiled
    "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe" -u -fixedNames -p "C:\ApplicationPath" -v / "C:\Precompiled" -errorstack
    pause

  • Distribute eps objects with file list and quantity

    Hello everyone,
    Here's a script i wrote so I share it for the contribution.
    Here's my purpose. Every year, for a customer of our company, we have to print several description plates for their products. They give us about 30 or more texts, traduced in about 7 languages, and an excel file with quantities that each retail seller of each country do want to receive.
    We print these aluminium plates on a uv cured ink printing machine which have a table dimension of about 60x40cm. Preparing manually every files of 60x42cm to print was way too much time devouring, so i wrote that script.
    Before running this script you have to create a folder with your text files in eps, and create a new document with the dimension you want.
    Don't hesitate if you want more precisions with the process.
    #target illustrator
    #targetengine session
    This script allows you to import EPS files as linked files. It distributes them and centers the all according to the dimension of the artboard of your document, then it saves the file.
    You can define everything in the start list : target folder, basename of the destination files, how much objects per sheet you want, the roation if necessary, spacing between each objects, number of culumn for the distribution.
    If you want to distribute a number of objects that is bigger thant the limit of objects per sheet, the script reports the remaining in a new sheet after saving the previous one.
    The first 2 arrays contains the filenames to use in the source folder and their respective quantity.
    var doc = app.activeDocument;
    doc.rulerOrigin = [0,0];
    var xtimes = 0;
    var countName;
    var folder;
    var folder2;
    //var folder = 'C:\\Documents and Settings\\Administrateur\\Bureau\\BBB\\';
    // array for filenames
    var listEx=new Array (
    "File1.eps",
    "File2.eps",
    "File3.eps",
    // array for quantity for each filenames
    var listqte=new Array (
    15,
    8,
    19,
    //-------------UI CODE------------
    var win = new Window ("dialog");
    win.alignChildren = "left";
    // ------Folders selection panel
    var foldPanel = win.add("panel");
    foldPanel.alignChildren = "right";
    // source folder for files
    var panelGrp1 = foldPanel.add("group");
    var btnSource = panelGrp1.add("button",undefined,"Source Folder :");
    var txtSource = panelGrp1.add("edittext",undefined);
    txtSource.characters = 40;
    btnSource.onClick = function()
        folder2 = Folder.selectDialog ("Select Source folder..."); // get the source folder
        txtSource.text = folder2.fsName; // show the file Path here
    // destination folder
    var panelGrp2 = foldPanel.add("group");
    var btnSave = panelGrp2.add("button",undefined,"Save Folder :");
    var txtSave = panelGrp2.add("edittext",undefined);
    txtSave.characters = 40;
    btnSave.onClick = function()
        folder = Folder.selectDialog ("Select Destination folder..."); // get the source folder
        txtSave.text = folder.fsName; // show the file Path here
    // Base name for destination files
    var panelGrp3 = foldPanel.add("group");
    panelGrp3.alignment = "left";
    var bfn = panelGrp3.add("statictext",undefined,"Basename of target file :");
    var txtbfn = panelGrp3.add("edittext",undefined,"Description plates - UK");
    txtbfn.characters = 20;
            // other parameters
            var grp = win.add("group");
            grp.alignChildren = "left";
            grp.orientation = "column";
            // counter
            var wincount = grp.add("group");
            var textcount = wincount.add("edittext",undefined,0);
            textcount.characters=2;
            wincount.add("statictext",undefined,"Start count");
            //Limit number of placeditems to distribute in one file
            var winlimit = grp.add("group");
            var textlimit = winlimit.add("edittext",undefined,0);
            textlimit.characters=2;
            winlimit.add("statictext",undefined,"Limit");
            //number of Columns for the distribution
            var wincolon = grp.add("group");
            var textcolon = wincolon.add("edittext",undefined,0);
            textcolon.characters=2;
            wincolon.add("statictext",undefined,"Nb of columns");
            // Spacing values between each objects in mm
            var winspace = grp.add("panel",undefined,"Spacing in mm");
            winspace.orientation = "row";
            winspace.add("statictext",undefined,"X");
            var Xspace=winspace.add("edittext",undefined,0);
            Xspace.characters=7;
            winspace.add("statictext",undefined,"Y",undefined,0);
            var Yspace=winspace.add("edittext");
            Yspace.characters=7;
            // rotation angle
            var winrotate = grp.add("group");
            var textangle = winrotate.add("edittext",undefined,0);
            textangle.characters=3;
            winrotate.add("statictext",undefined,"Rotation in °");
    // Dropdownlist of presets   
    var winPreset =grp.add ("dropdownlist", undefined, [ "Description plates","Trapezes plates","-","Perso"]);
    winPreset.onChange = function ()
        switch (winPreset.selection.text)
                    case "Description plates":
                            textlimit.text=8;
                            textcolon.text=4;
                            Xspace.text=6.4;
                            Yspace.text=27;
                            textangle.text=0;
                            break;
                    case "Trapezes plates":
                            textlimit.text=18;
                            textcolon.text=6;
                            Xspace.text=9;
                            Yspace.text=9;
                            textangle.text=0;
                            break;
                    case "Perso":
                            textlimit.text=0;
                            textcolon.text=0;
                            Xspace.text=0;
                            Yspace.text=0;
                            textangle.text=0;
                            break;
    //winPreset.selection=1;
    var runBT=grp.add("button",undefined,"Run !");
    runBT.onClick = function()
        win.close();
        moteur();
    win.show();
    //--------------------End of UI CODE----------------
    //---------------------------------fonction  Placement of objects
    function place()
        var paddingx = parseFloat(Xspace.text)*2.834;        //spacing in mm between each column (for a value in points just suppress the *2.834)
        var paddingy = parseFloat(Yspace.text)*2.834;        //spacing in mm between each line
        var gridCols = textcolon.text;                            // number of columns
        var newGroup = doc.groupItems.add();
        var sel = doc.placedItems;
        // set the position of the first element, assuming that the group of all elements are centered  in X and Y  in the artboard
        var originX = (doc.width - ((doc.width - ((sel[0].width * gridCols) + (paddingx) * (gridCols-1)))/2))-sel[0].width
        var originY =((doc.height - (( sel[0].height * (textlimit.text/gridCols) ) +  (  paddingy*( (textlimit.text/gridCols)-1 )  )))/2)+sel[0].height
        var currentX= originX
        var currentY = originY
        for(var e=0, slen=sel.length;e<slen;e++)       
                //   :::SET POSITIONS:::
                sel[e].top = currentY;
                sel[e].left = currentX;
                //  :::DEFINE X POSITION:::
                currentX += -(sel[e].width + paddingx);
                if((e % gridCols) == (gridCols - 1))
                        currentX =  originX
                        //  :::DEFINE Y POSITION:::
                        currentY  += sel[e].height+paddingy;
                // ::Add to group
                sel[e].moveToBeginning (newGroup );
                redraw()
    //----------------------function Save
    function sauve()
        var fich =  txtbfn.text;    //Basename of the destination file
        // embed elements (for my case these are eps placeditem files)   
        for (var i = doc.placedItems.length-1; i >= 0; i-- )
                app.activeDocument.placedItems[i].embed();
        // draw a rectangle with the dimensions of the artboard and centered to it, with no fill color neither stroke color
        doc.rulerOrigin = [0,0];  // rulers to the origin
        var artboardRef = doc.artboards[0];
        // read dimensions oh the artboard to position therectangle
        var top=artboardRef.artboardRect[1] ;
        var left=artboardRef.artboardRect[0];
        var width=artboardRef.artboardRect[2]-artboardRef.artboardRect[0];
        var height=artboardRef.artboardRect[1]-artboardRef.artboardRect[3];
        var rect = doc.pathItems.rectangle (top, left, width, height);   
        rect.stroked = false;
        rect.filled = false;
        countName ++;
        // when several files are saved, the ten first files are numbered like this : 01, 02, 03... instead of 1,2,3
        var countName2 = countName;
        if (countName<=9) { countName2 = ("0" + countName)};
        if (xtimes != 0) // saves in eps, basename of file + number of times to repeat if necessary (it's to avoid to save several but identical files. For ex. if i have an object to print 100 times and i place 50 objects per file, the mention "2 times" will be mentionned in the name of the destination file )
                var dest= new File(folder + '/' + fich + ' ' + countName2 + ' - ' + xtimes + ' times' + '.eps');
        else
                var dest= new File(folder+ '/' + fich + ' ' + countName2 + '.eps') ;
        var options = new EPSSaveOptions();
        options.preview  = EPSPreview.None;
        //options.compatibility = Compatibility.ILLUSTRATOR14;
        //options.overprint = PDFOverprint.DISCARDPDFOVERPRINT
        //options.embedAllFonts = false;
        //options.includeDocumentThumbnails = false
        doc.saveAs(dest, options);
    //-------------------- function moteur
    function moteur()
        var limite = textlimit.text;            // max number of objects to distribute in one sheet
        var couchangl = textangle.text;    // rotation angle of the element
        //--------------Searches and signals if there is missing files in the source folder. If so, the script stops and displays which files are missing
        var miss=new Array();
        for (var i=0,len1=listEx.length;i<len1;i++)
            var myfile = new File(folder2+'/'+listEx[i]);
            if (myfile.exists==false)
                    miss.push(listEx[i]);
        if (miss.length != 0)
                alert (miss.length+" missing files : "+"\r"+miss.join(", "+"\r")+"\r"+"\r"+" Please correct and try again");
                return;
        //--------------end of  verification
    var start = new Date();        // starts chrono
    countName = textcount.text;    // start of the counter to number the name of the file to save
        //-------------disctribution of the object on the sheet
        for (var i=0,howmuch = 0,len1=listEx.length;i<len1;i++)
            for (var j =0; j<listqte[i];j++)
                    if (howmuch==0)
                            if ((listqte[i]-j)/limite>=2) //activate "xtimes" if quantity is twice or more bigger than "limit"
                                    xtimes = parseInt ((listqte[i]-j)/limite);
                                    j += limite*(xtimes-1);
                    myfile = new File(folder2+'/'+listEx[i]);
                    var  thisPlacedItem = doc.placedItems.add();
                    thisPlacedItem.file = myfile;
                    // rotate if necessary
                    if (couchangl !=0) thisPlacedItem.rotate(couchangl);
                    howmuch ++;
                    if (howmuch == limite)
                            place();
                            sauve();
                            doc.pageItems.removeAll();
                            howmuch = 0;
                            xtimes = 0;
    place();
    sauve();
    redraw();
    alert("time spent : "+((new Date() - start)/1000)+" secondes");

    Hello,
    The Windows Desktop Perfmon and Diagnostic tools forum is to discuss performance monitor (perfmon), resource monitor (resmon), and task manager, focusing on HOW-TO, Errors/Problems, and usage scenarios.
    As the question is off topic here, I am moving it to the
    Where is the Forum... forum.
    Karl
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer.
    My Blog: Unlock PowerShell
    My Book:
    Windows PowerShell 2.0 Bible
    My E-mail: -join ('6F6C646B61726C406F75746C6F6F6B2E636F6D'-split'(?<=\G.{2})'|%{if($_){[char][int]"0x$_"}})

Maybe you are looking for