在JSP页面上写代码直接生成一个.txt文件

 我来答
shenweiweiabc
2013-12-27
知道答主
回答量:16
采纳率:0%
帮助的人:15.1万
展开全部
在jsp页面上使用java对象直接生成txt文件跟直接使用java生成文件是一样的。其实可以考虑用另外的方式完成这个事情,JS同样也可以直接生成文件,利用active插件可以完成你的要求。下面一段代码用做参考,已经测试,可以直接使用,不过由于安全性,很多浏览器都对active做了限制,所以在打开页面前,要确保以下限制打开:
* 1、设置可信任站点(例如本地的可以为:http://localhost
* 2、其次:可信任站点安全级别自定义设置中:设置下面的选项
* "对没有标记为安全的ActiveX控件进行初始化和脚本运行"----"启用"
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'CreateTxt.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>
<script type="text/javascript">
function browseFolder(path) {
try {
var Message = "\u8bf7\u9009\u62e9\u6587\u4ef6\u5939"; //选择框提示信息
var Shell = new ActiveXObject("Shell.Application");
var Folder = Shell.BrowseForFolder(0, Message, 64, 17); //起始目录为:我的电脑
//var Folder = Shell.BrowseForFolder(0,Message,0); //起始目录为:桌面
if (Folder != null) {
Folder = Folder.items(); // 返回 FolderItems 对象
Folder = Folder.item(); // 返回 Folderitem 对象
Folder = Folder.Path; // 返回路径
if (Folder.charAt(Folder.length - 1) != "") {
Folder = Folder + "";
}
document.getElementById(path).value = Folder;
return Folder;
}
}
catch (e) {
alert(e.message);
}
}
function save(){
var path=document.getElementById("path").value;
var fileName=document.getElementById("fileName").value;
var content=document.getElementById("content").value;
if(path==null ||path==undefined){
alert("请选择文件保存路径");
return;
}
var filePath=path+"\\"+fileName+".txt";
alert(filePath);
var fso = new ActiveXObject("Scripting.FileSystemObject");
var fi=fso.CreateTextFile(filePath,true);
fi.Write(content);
fi.close();
}

</script>
<body>
<div>
<p>
<label>文件名</label>
<input type="text" id="fileName" class="fileName" value="文件">
</p>
<p>
<label>内容</label>
<textarea rows="10" cols="20" id="content" name="content">编辑此处</textarea>
</p>
<p>
<input type="text" name="path" id="path"/>
<input type="button" onclick="browseFolder('path')" value="选择存放路径">
</p>
<p>
<button id="save" onclick="save()">保存</button>
</p>
</div>
</body>
</html>
追问
用JAVA方式的时候,好像用相对路径保存是不行的?为什么呢?
追答
给你一个参考文章,对于这个解释得很好!
http://hi.baidu.com/mefeng47/item/bc8e59737b698a16d1dcb339
千锋教育
2015-12-20 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
jsp生成txt的方法是通过写java的scriptlet来实现的。
在jsp中写入如下代码:
<%
boolean flag=false;
String fileName = "1.txt";
try{
if(!fileName.exists()){
fileName.createNewFile(); //如果不存在就创建1.txt
}
}catch(Exception e){
e.printStackTrace();
}
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
object8888
2013-12-26 · TA获得超过274个赞
知道小有建树答主
回答量:302
采纳率:100%
帮助的人:310万
展开全部

给你一段代码参考下,可以直接用的,我已经测试过了


<%@ page contentType="text/html; charset=GB2312"%>
<%@ page language="java" %>
<%@ page import="java.io.*" %>
<HTML><HEAD><TITLE>读写文件</TITLE></HEAD>
<BODY>
<CENTER>
  <FONT SIZE = 5 COLOR = blue>将数据写入文件</FONT>
</CENTER>
<%
  String path = request.getRealPath("."); //取得目录在服务器端的实际位置
  //out.println(path+"<br>");
  File result =new File("result.txt");
  FileWriter fw = new FileWriter(path + result); //建立FileWrite对象,并设定由fw对象变量引用
  
  out.println(path + result);
  //将字串写入文件
  fw.write("大家好!");
  fw.write("祝大家学习jsp愉快!");
  fw.write("希望大家能够深入了解jsp技术!");
  fw.close(); //关闭文件
  FileReader fr = new FileReader(path + result); //建立FileReader对象,并设定由fr对象变量引用
  BufferedReader br = new BufferedReader(fr); //建立BufferedReader对象,并设定由br对象变量引 
  String Line = br.readLine(); //读取一行数据
  out.println(Line + "<BR>"); //输出读取得的数据
  br.close(); //关闭BufferedReader对象
  fr.close(); //关闭文件
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式