1

PDFで共有レビュー機能を有効にするJavaプログラムを作成しました。共有レビューPDFとしてPDFを作成した後、UNIXマシンのリンクフォルダーにPDFを送信します(リンクフォルダーはフォルダーのショートカットパスを意味します)。その後、crontabを介して異なる方法で実行されるシェルスクリプトにより、コメントとしてpdfが有効になり、スクリプトを介してpdfがいくつかのフォルダーにコピーされます。

ここで問題となるのは、UNIXリンクフォルダ内のファイルをコピーするときはいつでも(FileUtils.copyInputStream()関数を使用しているリンクフォルダにファイルをコピーするため)、コメント対応スクリプトが実行され、pdf(.shスクリプトの.shスクリプト私のプログラムからは実行されないUNIX。)しかし、ファイルの保存中に、ファイルが読み取り専用であるというプロンプトが表示され、ファイルを保存せずに終了します。しかし、同じことを手動で行うと(UNIXではファイルを手動でリンクフォルダーに配置)、コメントが有効になっているPDFファイルが作成されます。これは、ファイルをフォルダーに送信するサンプルコードです。

try{
                    String outFname="SR_"+fname;
                    srEnabledIs = new FileInputStream(pdfoutputPath+fname);

                    if(srEnabledIs!=null && !path.equals("")){
                        Date today = new Date();
                        SimpleDateFormat format = new SimpleDateFormat("dd_MM_yyyy_hh_mm_ss_a");
                        String timeStamp=format.format(today);
                        FileUtils.copyInputStreamToFile(srEnabledIs, new File(path+outFname));
                        logtracker.writeDebugNormalLog("AnnotationMain","file copied to " + path);
                        try{
                            lrfile.renameTo(new File(pdfinputPath+"/pdf/"+fname.split("[.]")[0]+"_"+timeStamp+".pdf"));
                        }catch(Exception ex){
                            logtracker.writeDebugNormalLog("AnnotationMain", ex.getMessage());
                            ex.printStackTrace();
                        }                        
                    }else{
                        if(path.equals("")){
                            logtracker.writeDebugNormalLog("AnnotationMain", "File not copied as path not found.");
                        }
                        if(srEnabledIs==null){
                            logtracker.writeDebugNormalLog("AnnotationMain", "File not copied as InputStream is null.");
                        }
                        if(srEnabledIs==null && path.equals("")){
                            logtracker.writeDebugNormalLog("AnnotationMain", "File not copied as InputStream is null and path not found.");
                        }
                    }
                   }catch(IOException e){
                       logtracker.writeDebugNormalLog("AnnotationMain", e.getMessage());
                       e.printStackTrace();
                   }finally{
                       if(srEnabledIs!=null){
                           srEnabledIs.close();
                       }
                   }

ただし、同じプログラムが他のUNIXマシンで正常に実行および実行されています。私は本当に状況を理解することができません。この状況から私を助けてください。

4

0 に答える 0