gpt4 book ai didi

java - 将 JSF inputText 的内容写入文件

转载 作者:搜寻专家 更新时间:2023-11-01 03:28:12 25 4
gpt4 key购买 nike

我需要找出一种将 JSF inpuText 的内容写入文件的方法。我想构建一个小的 UI,它将为用户提供以更简单的方式编写一些数学公式的可能性(因此 UI),并能够将它们保存到 .txt(或类似的)文件中。我已经尝试了大约 8-10 个小时,我得到的最好结果是:

<h:inputText value="#{output.inputContent}" id="inputContent"></h:inputText>

还有 bean :

import com.sun.faces.taglib.html_basic.InputTextTag;
import java.awt.event.ActionListener;
import java.io.FileOutputStream;
import java.io.ObjectOutputStream;
import java.util.ArrayList;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import javax.servlet.http.HttpServletRequest;


@ManagedBean(name = "output")
@SessionScoped
public class OutputHandler {
public String inputContent;

public String getinputContent() {
return inputContent;
}

public void setinputContent(String inputContent) {
this.inputContent = inputContent;
}
public void writeStream()
{

try{
FileOutputStream fos=new FileOutputStream("outputOne.txt");
ObjectOutputStream output=new ObjectOutputStream(fos);

output.writeObject(inputContent);

}
catch(Exception ex){
System.out.println("Exception is: "+ex);

}
}

}

我很确定我在那里做的大部分事情都是错误的,因此我们将不胜感激,即使它是一些处理类似问题的帖子的指导,所以我可以尝试从那里得到它。我不想被灌输或任何东西,问题是我从来没有使用过 JSF(我昨天开始阅读它)所以正如我所说,甚至一些指向可以帮助我的文档的链接(我一直在谷歌搜索自从我开始就疯狂)或指导我一点将不胜感激。

最佳答案

使用ObjectOutputStream,你基本上是serializing一个 String object 到输出。结果是不是具有字符串原始值的人类可读文本文件。

您需要使用 Writer 将字符串的值传递给。

public void writeStream() throws IOException {
Writer writer = new FileWriter("outputOne.txt");

try {
writer.write(inputContent);
} finally {
writer.close();
}
}

这将以带有字符串原始值的人类可读文本文件结束。


与具体问题无关,请注意在文件 IO 中使用相对路径是一个非常糟糕的主意。你永远不知道它会在哪里结束,在某些环境中工作目录也是不可写的。始终明确指定现有和可写文件夹的绝对路径:

    Writer writer = new FileWriter("/path/to/outputOne.txt");

在服务器从C:\盘安装执行的Windows环境下,上述路径与C:\path\to\outputOne.txt。如果需要,您可以将文件夹根配置为 VM 参数或配置文件设置。假设您传递了 -Doutput.location=/path/to VM 参数,那么您可以按如下方式使用它:

    File root = new File(System.getProperty("output.location"));
Writer writer = new FileWriter(new File(root, "outputOne.txt"));

关于java - 将 JSF inputText 的内容写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7726130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com