请问如何将中文写入一个txt文件

ezhb 2001-06-14 12:08:00
请问如何将中文写入一个txt文件?
...全文
604 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
packy_li 2001-07-08
  • 打赏
  • 举报
回复
例子:
import java.io.*;
import java.util.*;
public class Application1{
public static void main(String[] args){
try{
PrintWriter pw=new PrintWriter(new FileOutputStream("Answer.txt"));
String line="汉字";
pw.println(line);
pw.flush();
}
catch(IOException e){e.toString();}
}
}
在同目录下建文本文件Answer.txt
mikej 2001-06-15
  • 打赏
  • 举报
回复
PS.头文件中sum.net.smtp.... oracle.jdbc,什么地可以不要
只需要java.lang.*. java.util.* javax.servlet.http.*
其他的import可以不要.
mikej 2001-06-15
  • 打赏
  • 举报
回复
一点说明,把文件后缀改成txt就可以是文本了,
核心地方在于那个strTemp=new String(strTemp.getBytes("gb2312"),"8859_1");
因为在文件头中我们都是GBK输出的,但是中文输出到txt文件中,则是Unicode的,所以我们在
写入文件的时候必须事先将GBK转换成Unicode才行:)折腾我一个星期的咚咚终于搞定了.
差点忘了,给你一个文件头Header.jsp
<%@page
language="java"
import="java.util.*,
java.lang.*,
com.jspsmart.upload.*,
java.io.*,
java.sql.*,
java.net.*,
java.math.*,

sun.net.smtp.SmtpClient,
oracle.jdbc.driver.*,
javax.servlet.http.*;"
contentType="text/html;charset=gb2312"
%>
mikej 2001-06-15
  • 打赏
  • 举报
回复
给你一个小例子,我刚刚搞定的.
<HTML>
<HEAD>
<TITLE>success</TITLE>
</HEAD>
<BODY>
<%@include file="/model/t_head_file.jsp" %>
<%

String path=new String("e:\\temp\\");
String dirname="166.111.3.138";
String user_name=new String("mikej");
java.io.File findpath= new java.io.File(path + dirname );

if(findpath.exists())
{
out.println("already exist!");
}
else
{
findpath.mkdirs();
out.println("have been made");
}
try
{
String tmpfile = null;
tmpfile = path + dirname + "\\" + user_name + ".csv";
DataOutputStream out_to_text=new DataOutputStream (new FileOutputStream(tmpfile));
String biaoti=new String (new String("标题").getBytes("gb2312"),"8859_1");
// String biaoti=new String("abc");
out_to_text.writeBytes(biaoti);
out_to_text.writeChar(',');
int year=1997;
strTemp=Integer.toString(year);
strTemp=new String (strTemp.getBytes("gb2312"),"8859_1");
out_to_text.writeBytes(strTemp);
out_to_text.writeChar('\n');
float datatmp;
datatmp=(float)2.2;
strTemp=Float.toString(datatmp);
strTemp=new String (strTemp.getBytes("gb2312"),"8859_1");
out_to_text.writeBytes(strTemp);
out_to_text.close();
out.println("<br>success!!!:)");

}
catch(Exception ex)
{
out.println("a little wrong !!!!:(");
}
%>
</BODY>
</HTML>
beyondii 2001-06-14
  • 打赏
  • 举报
回复
先将中文转化成unicode再用file类写入文件,一定要转化,为了读取方便和跨平台

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧