有人会这个简单的问题吗 没法写,不可能写因为不能判断字符串是不是gbk编码。这个问题已经被提出到让人看了就厌的地步。先看看编码是什么东西吧,怎么编码的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private static void writeOutput(String strFN, String str) throws Exception { FileOutputStream fos = new FileOutputStream(strFN); OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8"); BufferedWriter bw = new BufferedWriter(osw); StringReader sr = new StringReader(str); BufferedReader br = new BufferedReader(sr); String line = br.readLine(); if (line != null) bw.write(line); while ((line = br.readLine()) != null) { bw.newLine(); bw.write(line); } bw.flush(); bw.close(); br.close(); } 如果楼主一定要写那么个函数来辨别一段字符串是不是含中文就用下面这个吧, public static boolean isISO88591(String src) { try { return isISO88591(src.getBytes("iso8859-1")); } catch (UnsupportedEncodingException ex) { return false; } } public static boolean isISO88591(byte[] src) { return isISO88591(new ByteArrayInputStream(src)); } public static boolean isISO88591(InputStream src) { try { for (byte b = (byte)src.read(); b >= 0; b = (byte)src.read()) { if ((b & (byte)0x80) == 0x80) { return false; } } return true; } catch (IOException ex) { return false; } } java 类中直接写方法 连续空格分隔字符串问题 写一个petShop JTextArea如何改变单行字体颜色 myEclipse5.5.1GA中如何调试jsp 关于线程的一点疑问 怎么将jTextField.getText()获得的值转换成int类型和float类型?谢谢指教! 新手怎样学java? 低手发问 annonation中,定义了一个Class<?>属性,使用的时候如何给这个属性传值 哪位用过log4j,进来介绍介绍 简单的socket问题,热心的人,来帮忙,送大分!!
throws Exception
{
FileOutputStream fos = new FileOutputStream(strFN);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw); StringReader sr = new StringReader(str);
BufferedReader br = new BufferedReader(sr); String line = br.readLine();
if (line != null)
bw.write(line);
while ((line = br.readLine()) != null)
{
bw.newLine();
bw.write(line);
}
bw.flush();
bw.close();
br.close();
}
public static boolean isISO88591(String src)
{
try
{
return isISO88591(src.getBytes("iso8859-1"));
}
catch (UnsupportedEncodingException ex)
{
return false;
}
}
public static boolean isISO88591(byte[] src)
{
return isISO88591(new ByteArrayInputStream(src));
}
public static boolean isISO88591(InputStream src)
{
try
{
for (byte b = (byte)src.read(); b >= 0; b = (byte)src.read())
{
if ((b & (byte)0x80) == 0x80)
{
return false;
}
}
return true;
}
catch (IOException ex)
{
return false;
}
}