Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在java中的文本文件中写入完整数据_Java - Fatal编程技术网

无法在java中的文本文件中写入完整数据

无法在java中的文本文件中写入完整数据,java,Java,我尝试使用outputstream.write在带有下载选项的文本文件中写入clob数据,但它只写入第一行。如何写入完整数据。这是我的密码: OutputStream outputStream = response.getOutputStream(); oRs=oStmt.executeQuery("select subtxt from mybank.dt_subject where mailid = '"+sMailID+"' and sessionid =

我尝试使用outputstream.write在带有下载选项的文本文件中写入clob数据,但它只写入第一行。如何写入完整数据。这是我的密码:

        OutputStream outputStream = response.getOutputStream();
        oRs=oStmt.executeQuery("select subtxt  from mybank.dt_subject  where mailid = '"+sMailID+"' and sessionid = '"+sSessionID+"'");
        while(oRs.next()){

             outputResult = oRs.getString(1);
             outputStream.write(outputResult.getBytes());                
             response.setContentType("text/plain");
             response.setHeader("Content-disposition","attachment; filename=\"" +sFileName+".txt\"");
             outputStream.flush();
             outputStream.close();

        }

您将在下一个迭代的第一次迭代中关闭流


显然,您不能在第一行之后进行写入。

如前所述-在while循环之后关闭输出流:

 OutputStream outputStream = response.getOutputStream();
    oRs = oStmt.executeQuery("select subtxt  from mybank.dt_subject  where mailid = '" + sMailID + "' and sessionid = '" + sSessionID + "'");
    while (oRs.next()) {

        outputResult = oRs.getString(1);
        outputStream.write(outputResult.getBytes());
        response.setContentType("text/plain");
        response.setHeader("Content-disposition", "attachment; filename=\"" + sFileName + ".txt\"");

    }
    outputStream.flush();
    outputStream.close();
这是因为您调用outputStream.close;在将所有数据写入文件之前。在while循环之后调用它。