路径下的TXT文件里的内容是汉字。。但是下载后是的内容全是 “ 问号”。。???这些。。如何解决呢?
 还有是就是找到TXT文件后  不输出文件内容
private static void txtOnline(int flag, String txtname) {
System.out.println("*************************************");
System.out.print("当前操作:阅读");
System.out.println(txtname);

// 调用客户端业务的查询方法,获取服务器返回信息
Datas datas = clientBIZ.dotxtOnline(flag, txtname);
if (datas.getFlag().equals(SysConstants.SYS_ONLINE)) {
// 正确返回数据 // String buffer = datas.getTxtBook().getBuffer().toString();
// 得到小说的内容str!!!

String str = new ServerService().findtxtOnline(SysConstants.SYS_WUXIA, txtname.concat(".txt")).getBuffer().toString();
System.out.println(str);
System.out.println("………………省略内容,请下载后阅读");
System.out.println("*************************************");

解决方案 »

  1.   

    确保原始文件的编码和你toString的编码一致。 一般情况下,toString等方法会默认使用系统编码来构造字符串。很容易乱码。如果搞不清楚的情况下,传输最好直接传2进制流。
      

  2.   

    字符集编码设置为UTF-8,不行弄个过滤器。
      

  3.   

    用二进制高级流,绝对不会出现乱码问题。
    FileOutPutStream fout  = new FileOutputStream("txt路径");
    DataOutputStream dout = new DataOutputStream(fout);
      

  4.   

    彻底解决struts2中文乱码处理秘籍:1、JSP请求页面和响应页面的字符编码统一使用“UTF-8”
    1.1、设置IDE开发环境的字符编码
    1.2、设置project工程的字符编码
    1.3、JSP文件的字符编码环境2、在struts.xml中配置:
    <!-- 指定Web应用的默认编码集,相当于调用 HttpServletRequest的setCharacterEncoding方法 -->
      <constant name="struts.i18n.encoding" value="UTF-8"/> <!--internationalization 国际化-->
      此标签的作用相当于在Servlet中的request.setCharacterEncoding("UTF-8");
      
      3、以上两个步骤可以处理表单为post的方式提交的中文数据,如果依然处理乱码问题可进行第4步的配置
        
      4、在web.xml中配置中文处理的filter
      注:中文过滤器如配置到struts2的过滤器之后,启动时系统不会报异常,但中文过滤器无效。必须配置到一个位置才能有效果。
      
      5、以上几种方式只能处理post方式的中文乱码。对于超链接(get方式)传递中文的处理有以下两种方式:
      5.1、在超链接页面的调用中使用JS代码将get方式转换成post方式提交。(间接调用JS)
      5.2、在Tomcat的server.xml中配置UTF-8也可以处理get方式的中文乱码
      <Connector port="8686" protocol="HTTP/1.1"  
      connectionTimeout="20000"  
      redirectPort="8443" URIEncoding="UTF-8"/>
        
      6、如个别地方依然出现中文乱码情况时,可在Action中火JavaBean中的setXXX方法中使用如下代码:
      name = new String(name.getBytes("ISO-8859-1"), "utf-8");   
      
      7、数据库字段定义的字符编码使用UTF-8