写入文件时不寻常的结果

时间:2014-12-09 08:45:26

标签: java java-io printwriter file-writing

使用PrintWriter写入文件时遇到问题。以下是我的代码:

String abc = request.getParameter("textAreaField"); //String is "a b c" (with spaces)
String fileA = dir + "/A";
PrintWriter fileWriterA = new PrintWriter(new FileOutputStream(fileA,true));
fileWriterA.println(abc);
fileWriterA.close();

我在这里遇到的问题是在目录“dir”中写入文件“A”时,只会写入来自字符串abc的“a”,并且不写入空格后的其余部分。代码中的字符串abc来自html中的textarea,我的servlet中有上面的代码。我无法理解为什么它不会将带空格的字符串写入文件。我认为应该。我还通过打印String abc进行检查,它确实打印了字符串“a b c”(带空格)。但它不会打印到文件。我的代码有问题吗?任何帮助将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

我已经使用了你的代码并编写了一个servlet。它工作得非常好。这是代码。

protected void doPost(HttpServletRequest request, HttpServletResponse response) 
        throws ServletException, IOException {
    System.out.println(request.getParameter("ta"));
    String abc = request.getParameter("ta");
    String fileA = "/A";
    PrintWriter fileWriterA = new PrintWriter(new FileOutputStream(fileA,true));
    fileWriterA.println(abc);
    fileWriterA.close();
}

这是jsp:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="Test">
<textarea rows="20" cols="20" name="ta"></textarea><!-- having value -- check some spaces -->
<input type="submit" value="Submit">
</form>
</body>
</html>