java中如何将字符串转换成字节数组
Strings=area.getText();FileOutputStreamfou=newFileOutputStream(file);byte[]by=news.ge...
String s=area.getText(); FileOutputStream fou=new FileOutputStream(file); byte[] by=new s.getBytes();//这一句时间字符串变成字节数组,系统编译提示出错。求错误原因,及改正办法 fou.write(by);
展开
2个回答
2013-07-31
展开全部
package com.sunjing.util;
import java.io.UnsupportedEncodingException;
/**
* 将Byte转换为String 或者将String转换为Byte
*
* @author Administrator
*
*/
public class ByteOrStringHelper {
/**
* 默认的字符集编码
* UTF-8 一个汉字占三个字节
*/
private static String CHAR_ENCODE = "UTF-8";
/**
* 设置全局的字符编码
* @param charEncode
*/
public static void configCharEncode(String charEncode){
CHAR_ENCODE = charEncode;
}
/**
* @param str 源字符串转换成字节数组的字符串
* @return
*/
public static byte[] StringToByte(String str) {
return StringToByte(str,CHAR_ENCODE);
}
/**
*
* @param srcObj 源字节数组转换成String的字节数组
* @return
*/
public static String ByteToString(byte[] srcObj) {
return ByteToString(srcObj,CHAR_ENCODE);
}
/**
* UTF-8 一个汉字占三个字节
* @param str 源字符串
* 转换成字节数组的字符串
* @return
*/
public static byte[] StringToByte(String str,String charEncode) {
byte[] destObj = null;
try {
if(null == str || str.trim().equals("")){
destObj = new byte[0];
return destObj;
}else{
destObj = str.getBytes(charEncode);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return destObj;
}
/**
* @param srcObj 源字节数组转换成String的字节数组
* @return
*/
public static String ByteToString(byte[] srcObj,String charEncode) {
String destObj = null;
try {
destObj = new String(srcObj,charEncode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return destObj.replaceAll("\0"," ");
}
}
import java.io.UnsupportedEncodingException;
/**
* 将Byte转换为String 或者将String转换为Byte
*
* @author Administrator
*
*/
public class ByteOrStringHelper {
/**
* 默认的字符集编码
* UTF-8 一个汉字占三个字节
*/
private static String CHAR_ENCODE = "UTF-8";
/**
* 设置全局的字符编码
* @param charEncode
*/
public static void configCharEncode(String charEncode){
CHAR_ENCODE = charEncode;
}
/**
* @param str 源字符串转换成字节数组的字符串
* @return
*/
public static byte[] StringToByte(String str) {
return StringToByte(str,CHAR_ENCODE);
}
/**
*
* @param srcObj 源字节数组转换成String的字节数组
* @return
*/
public static String ByteToString(byte[] srcObj) {
return ByteToString(srcObj,CHAR_ENCODE);
}
/**
* UTF-8 一个汉字占三个字节
* @param str 源字符串
* 转换成字节数组的字符串
* @return
*/
public static byte[] StringToByte(String str,String charEncode) {
byte[] destObj = null;
try {
if(null == str || str.trim().equals("")){
destObj = new byte[0];
return destObj;
}else{
destObj = str.getBytes(charEncode);
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return destObj;
}
/**
* @param srcObj 源字节数组转换成String的字节数组
* @return
*/
public static String ByteToString(byte[] srcObj,String charEncode) {
String destObj = null;
try {
destObj = new String(srcObj,charEncode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return destObj.replaceAll("\0"," ");
}
}
展开全部
Java中byte数组转换成string字符串可以直接使用string类的构造函数。而string转byte数组,则可以使用string类型的getBytes()方法进行转换,如下形式:
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:
String str = "hello";
byte[] srtbyte = null;
try {
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
} catch (UnsupportedEncodingException e) {//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}
1、string 转 byte[]
String str = "Hello";//声明一个字符串
byte[] srtbyte = str.getBytes();//使用string类的getBytes方法进行转换
2、byte[] 转 string
byte[] srtbyte;//声明一个byte字节数组
String res = new String(srtbyte);//使用构造函数转换成字符串
System.out.println(res);
也可以将byte转换的时候,设定编码方式相互转换,如下代码:
String str = "hello";
byte[] srtbyte = null;
try {
srtbyte = str.getBytes("UTF-8");//设定转换的编码格式
String res = new String(srtbyte,"UTF-8");
System.out.println(res);
} catch (UnsupportedEncodingException e) {//有可能会出现不能支持的编码格式,捕捉异常。
e.printStackTrace();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询