java文件字符串
❶ 请问java如何改变字符串的编码方式
byte[] b=string.getBytes("GB2312");//使用GB2312编码方式对字符串string进行编码
//这时要想将字节数组b的内容正确解码只能使用GB2312的编码方式进行解码,即
String str=new String(b,"GB2312");//这里若使用UTF-8编码方式来进行解码就会乱码
//将eclipse默认的编码方式改为UTF-8,只是用该编码方式对.java源文件进行编码保存
//这个对new String(string.getBytes("GB2312"),"UTF-8")没啥影响的
//因为从java源文件获取字符串string时,已经通过UTF-8编码方式进行解码了
//而string.getBytes("GB2312")是使用指定的编码方式对字符串string进行从新编码
//这两者之间没啥关系的
❷ java中怎样将文件的内容读取成字符串
java中有四种将文件的内容读取成字符串
方式一:
Java code
/**
*以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。
*当然也是可以读字符串的。
*/
/*貌似是说网络环境中比较复杂,每次传过来的字符是定长的,用这种方式?*/
publicStringreadString1()
{
try
{
//FileInputStream用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用FileReader。
FileInputStreaminStream=this.openFileInput(FILE_NAME);
ByteArrayOutputStreambos=newByteArrayOutputStream();
byte[]buffer=newbyte[1024];
intlength=-1;
while((length=inStream.read(buffer)!=-1)
{
bos.write(buffer,0,length);
//.write方法SDK的解释是m.
//当流关闭以后内容依然存在
}
bos.close();
inStream.close();
returnbos.toString();
//为什么不一次性把buffer得大小取出来呢?为什么还要写入到bos中呢?returnnew(buffer,"UTF-8")不更好么?
//returnnewString(bos.toByteArray(),"UTF-8");
}
}
方式二:
Java code
方式四:
Java code
/*InputStreamReader+BufferedReader读取字符串,InputStreamReader类是从字节流到字符流的桥梁*/
/*按行读对于要处理的格式化数据是一种读取的好方式*/
()
{
intlen=0;
StringBufferstr=newStringBuffer("");
Filefile=newFile(FILE_IN);
try{
FileInputStreamis=newFileInputStream(file);
InputStreamReaderisr=newInputStreamReader(is);
BufferedReaderin=newBufferedReader(isr);
Stringline=null;
while((line=in.readLine())!=null)
{
if(len!=0)//处理换行符的问题
{
str.append(" "+line);
}
else
{
str.append(line);
}
len++;
}
in.close();
is.close();
}catch(IOExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnstr.toString();
}
❸ java怎么将字符串写入到文件
使用Java中的File类,url为文件的绝对地址,str为输入的字符串内容。
代码如下图所示:
String str="i love china!"
File txt=new File("url");
if(!txt.exists()){
txt.createNewFile();
}
byte bytes[]=new byte[512];
bytes=str.getBytes(); //新加的
int b=str.length(); //改
FileOutputStream fos=new FileOutputStream(txt);
fos.write(bytes,0,b);
fos.close();
❹ Java中怎样找到文件中指定字符串并替换
java的String类中使用Replace方法可以将字符串中的特定字符或者文字替换成为我们想要的内容。
下面我们就用实例说明下Replace的用法。如何替换文字、特殊字符、以及如何替换第一个匹配对象。
1.定义一个类文件StringReplace.java
2.类内容如下:
public class StringReplace
{
public static void main(String[] args){
String info = "百d度,经3验,欢迎H你";
info = info.replace(',',':');//将字符慧戚陪串,替换成":"
System.out.println(info);//替换后输出
info=info.replace("欢迎","需要");//将欢迎二字换成需要
System.out.println(info);//替换后输出
info=info.replaceAll("[0-9a-zA-Z]","\\$");//使用正则表达式将数字字母替换为仔运$
System.out.println(info);//输出结果
info = info.replaceFirst("\\$","#"); //使用正则表达式将第一个$替换为#
System.out.println(info);//输出结果
}
}
3.下面我们就可以直接在命令行中用java命令或java运行环境来编译运行上面的代码啦。希前蠢望对java初学者有帮助。