做下内码转换啊
import java.io.*;public class StringConverter {
public StringConverter() {
} public static String convert(String s){
byte[] tmpbyte = null;
try {
tmpbyte = s.getBytes("ISO8859_1");
}
catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
String ret=new String(tmpbyte);
return ret;
}
}
import java.io.*;public class StringConverter {
public StringConverter() {
} public static String convert(String s){
byte[] tmpbyte = null;
try {
tmpbyte = s.getBytes("ISO8859_1");
}
catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}
String ret=new String(tmpbyte);
return ret;
}
}
对文件:FileReader,FileWrieter
其字节型节点流类型为:FileInputStream,FileOutputStream
对内存(数组):CharArrayReader,CharArrayWriter
其字节型节点流类型为:ByteArrayInputStream,ByteArrayOutputStream
对内存(字符串):StringReader,StringWriter
对管道:PipedReader,PipedWriter
其字节型节点流类型为:PipedInputStream,PipedOutputStream
同时,应该用以下面向字符型处理流来处理输入和输出:
BufferedWriter,BufferedReader
其字节型的处理流为:BufferedInputeStream,BufferedOutputStream
InputStreamReader,OutputStreamWriter
其字节型的处理流为:DataInputStream,DataOutputStream
其中InputStreamReader和InputStreamWriter用于将字节流按照指定的字符编码集转换到字符流,如:
InputStreamReader in = new InputStreamReader(System.in,"GB2312");
OutputStreamWriter out = new OutputStreamWriter (System.out,"GB2312");http://www.pconline.com.cn/pcedu/empolder/gj/java/0405/368760.html
<%
String filename= new String (request.getParameter("filename").getBytes("ISO-8859-1"),"GB2312");%><%response.sendRedirect("/upload1/"+newfilename);%>newfilenamen是乱码怎么解决呀
newsfilename,不能打开的就下载,可是文件名是中文就不行,出现了乱码
请问怎么解决呀
<%@page contentType="text/html; charset=gb2312"%>
<%
String sre = null;
String uid=null; uid = (String) session.getValue("userid");
if(uid==null)
{
sre = "您还没有登录";
System.out.println(sre);
session.putValue("result",sre);
getServletConfig().getServletContext().getRequestDispatcher("/PBResult.jsp").forward(request,response);
return;
}
%>
<%@ page language="java" import="com.jspsmart.upload.*,java.sql.*,java.util.*,java.io.* "%>
<%-- 使用SmartUpload Java Bean --%>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
request.setCharacterEncoding("GB2312");
String downpath=request.getParameter("path");
System.out.println("down file:"+downpath); java.io.File file=new java.io.File(downpath);
if(!file.exists()) {
sre = "下载文件不存在!";
System.out.println(sre);
session.putValue("result",sre);
getServletConfig().getServletContext().getRequestDispatcher("/ReMess.jsp").forward(request,response);
return;
}
out.clear();
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition","attachment; filename="+new String(file.getName().getBytes("GBK"),"ISO8859_1"));
//response.setHeader("Content-disposition",Util.Encode("attachment; filename="+file.getName()));
DataInputStream dis=new DataInputStream(new FileInputStream(file));
OutputStream os=response.getOutputStream(); try{
byte[] buf=new byte[1024];
int left=(int)file.length();
int read=0;
while(left>0)
{read=dis.read(buf);
left-=read;
os.write(buf,0,read);
}
}
catch(Exception e)
{
sre = "文件下载失败!";
System.out.println(sre+e.getMessage());
session.putValue("result",sre);
getServletConfig().getServletContext().getRequestDispatcher("/ReMess.jsp").forward(request,response);
dis.close();
os.close();
out.close();
return;
}
sre = "文件下载成功!";
System.out.println(sre);
dis.close();
os.close();
out.close();
return; /*
//进行初始化操作
mySmartUpload.init(config);
mySmartUpload.service(request,response);
//设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为
//doc时,浏览器将自动用word打开它。扩展名为pdf时,
//浏览器将用acrobat打开。mySmartUpload.setContentDisposition(null);//进行下载操作
try{
mySmartUpload.downloadFile(downpath);
}
catch(Exception e){
sre = "文件下载失败!";
System.out.println(sre+e.getMessage());
session.putValue("result",sre);
getServletConfig().getServletContext().getRequestDispatcher("/ReMess.jsp").forward(request,response);
return;
}
sre = "文件下载成功!";
System.out.println(sre);
session.putValue("result",sre);
getServletConfig().getServletContext().getRequestDispatcher("/ReMess.jsp").forward(request,response);
return;
*/
%>