1

「操作」ごとにテキストファイルを生成して操作固有の情報を保存するのに本当に問題があります。どのようなアプローチをとっても、Webサーバー上にテキストファイルを作成することはできません。ましてや、その中に情報を保存することもできません。最初の例理想的には私が欲しいものです(操作ごとに作成して保存します)

注-現在、テスト目的でサーブレットでこれを実行しようとしています。感謝します。

 try {
               FileWriter fstream = new FileWriter("out.txt");
                BufferedWriter out = new BufferedWriter(fstream);
                out.write("test");
                out.close();
            } catch (Exception ex) {
                 System.out.println(ex);
            }

別のアプローチ

 try {

            URL                url; 
            URLConnection      urlConn; 
            DataOutputStream   dos;
            DataInputStream dis;

            url = new URL("http://localhost:8080/" + request.getContextPath() + "/tmp/myfile.txt");
            System.out.println(url);
            urlConn = url.openConnection(); 
            urlConn.setDoInput(true); 
            urlConn.setDoOutput(true); 
            urlConn.setUseCaches(false); 
            urlConn.setRequestProperty ("Content-Type", "text/plain");

            dos = new DataOutputStream (urlConn.getOutputStream()); 
            dos.writeUTF("test");
            dos.flush(); 
            dos.close();

            //to test
            dis = new DataInputStream(urlConn.getInputStream()); 
            String s = dis.readLine(); 
            System.out.println(s);
            dis.close(); 

     } catch(Exception ex) {
         System.out.println(ex);
     }
4

1 に答える 1

1

なぜこのようにしたいのかわかりません。すでに堅牢なロギング ソリューションとデータベースがあります。

最初のケースでは、例外が発生していない場合は、ほぼ確実にファイルが作成されています。ファイルがどこにあるのかわからないだけです。既知のアクセス可能な場所への絶対パス、または を使用したアプリケーション自体への相対パスのいずれかを使用し.getRealPathます。

(戦争を展開している場合、アプリ相対パスに書き込もうとしても機能しないことに注意してください。)

2番目のケースでは、なぜそれがうまくいくと思ったのかわかりません。

于 2012-03-12T21:56:28.660 に答える