当前位置: 首页 > wzjs >正文

做调差问卷的网站交易系统开发

做调差问卷的网站,交易系统开发,页面设计线稿,php网站制作常用代码引出问题 不同编码读取出现的乱码问题 如果是代码编码被读取的文本文件的编码是一致的,使用字符流读取文本文件时不会出现乱码; 如果不一致,使用字符流读取文本文件就会出现乱码。 public class BufferedReader{ public static void main(S…

引出问题

不同编码读取出现的乱码问题
如果是代码编码被读取的文本文件的编码是一致的,使用字符流读取文本文件时不会出现乱码;
如果不一致,使用字符流读取文本文件就会出现乱码。

public class BufferedReader{
public static void main(String[] args){ try(
//这里只能放置资源变量
Reader fr=new FileReader("myio//copy.mp4");
BufferedReader br=new BufferedReader(fr);)
{
String line;
while(((line=br.readLine(buffer))!=null){  
//记录每行数据   
System.out.println(line)}
catch(IOException e){ e.printStackTrace();}}
}

说明:
如果代码编码和文件编码都为UTF-8不会出现乱码
如果代码编码为UTF-8和文件编码为GBK会出现乱码。

解决方法:
转换流
InputStreamReader字符输入转换流
作用:解决不同编码时,字符流读取文本内容乱码的问题。
解决思路:先获取文件的原始字节流,再将其按真实的字符集编码转成字符输入。

构造方法:
public InputStreamReader(InputStream is,String charset)

public class InputStreamReader{
public static void main(String[] args){ try(
//这里只能放置资源变量
InputStream is=new FileInputStream("myio//copy.mp4");
Reader isr=new InputStreamReader(is,"GBK");
BufferedReader br=new BufferedReader(isr))
{
String line;
while(((line=br.readLine(buffer))!=null){  
//记录每行数据   
System.out.println(line)}
catch(IOException e){ e.printStackTrace();}}
}

OutputStreamWriter字符输出转换流
需要控制写出去的衣服使用什么字符集编码
1.调用String提供的getBytes方法

String data="adc";
byte[] bytes=data.getBytes("GBK");

2.使用字符输出转换流
解决思路:获取字节输出流,再按照指定的字符集编码转换成字符输出流。

构造思路:
public OutputStreamWriter(OutputStream os,String charset)

public class OutputStreamReader{
public static void main(String[] args){ try(
//这里只能放置资源变量
OutputStream is=new FileOutputStream("myio//copy.mp4");
Writer osr=new OutputStreamReader(os,"GBK");
BufferedWriter bw=new BufferedWriter(osr))
{
bw.writer("dtxh");
bw.writer("zzhhh");
}
catch(IOException e){ e.printStackTrace();}}
}

PrintStream/PrintWriter打印流
作用:方便高效地打印数据
PrintStream

public class PrintTest{
public static void main(String[] args){ try(
//这里只能放置资源变量
//方法一
PrintStream ps=new PrintStream("myio//copy.mp4");//方法二
PrintStream ps=new PrintStream("myio//copy.mp4"Charset.forname("GBK"));)
{
ps.println(97);
ps.println('a');
}
catch(IOException e){ e.printStackTrace();}}
}

PrintStream和PrintWriter的区别
打印数据的功能上是一模一样的:都是使用方便,性能高效(核心优势)
PrintStream继承自字节输出流OutputStream,因此支持写字节数据的方法。 PrintWriter继承自字符输出流Writer,因此支持写字符数据出去。

注:要续写就需要包装成低级流

PrintStream ps=new PrintStream(new FileOutputStream("myio//copy.mp4",true));

输出语句重定向
System.out.println()会打印到控制台
可调用System.setOut()改变,把系统默认的打印流对象换成自己的。

public class PrintTest{
public static void main(String[] args){ try(
//这里只能放置资源变量
PrintStream ps=new PrintStream("myio//copy.mp4";
)
{
System.setOut(ps);
}
catch(IOException e){ e.printStackTrace();}}
}

数据流
DataOutputStream数据输出流
允许把数据和其类型一并写出去

public class DataOutputStreamTest{
public static void main(String[] args){ try(
//这里只能放置资源变量
DataOutputStream dos=new DataOutputStream(new FileOutputStream("myio//copy.mp4");
)
{
dos.writeInt(97);
dos.writeDouble(99.5);
dos.writeBoolean(true);
dos.writeUTF("数据流");
}
catch(IOException e){ e.printStackTrace();}}
}

DataInputStream数据输入流
用于读取输出流写出去的数据
要一一对应

public class DataInputStreamTest{
public static void main(String[] args){ try(
//这里只能放置资源变量
DataInputStream dis=new DataInputStream(new FileInputStream("myio//copy.mp4");
)
{
int i=dis.readInt();
System.out.println(i);double d= dis.readDouble();
System.out.println(d);boolean b=dis.readBoolean();
System.out.println(b);String str=dis.readUTF("");
System.out.println(str);
}
catch(IOException e){ e.printStackTrace();}}
}

序列化流
对象序列化:把java对象写到文件中
对象反序列化:把文件中的java对象读出来

ObjectOutputStream(对象字节输出流)
创建一个java对象
对象如果要序列化,必须实现序列化接口

public class ObjectOutputStream{
public static void main(String[] args){ try(
//这里只能放置资源变量
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("filename");)
{User u=new User("zhangsan",23);
oos.writerObject(u);
System.out.println("序列化成功");
}catch(IOException e){ e.printStackTrace();   } }}

ObjectInputSream(对象字节输入流)
可以把java对象进行反序列化,把存储在文件中的java对象读入到内存中来。

public class ObjectInputStream
{public static void main(String[] args){ try(
//这里只能放置资源变量
ObjectInputStream ois=new ObjectInputStream(new FileOutputStream("filename");){
User u=(User)ois.readObject();//原来为Object类型,需要强转
System.out.println(u);
}catch(IOException e){ e.printStackTrace();   } 
}
}

注:若不想要某个变量参与序列化,可以加上transient
private transient String password;

如果要一次序列化有个对象,怎么实现?
用一个Arraylist集合存储多个对象,然后直接对集合进行序列化即可。


文章转载自:

http://MTN8WXST.zfhzx.cn
http://44YMUPVR.zfhzx.cn
http://VcrgLPv5.zfhzx.cn
http://KXJck8ue.zfhzx.cn
http://J3Wbm5Ru.zfhzx.cn
http://XEgMNHsW.zfhzx.cn
http://MGRtOMbN.zfhzx.cn
http://KuyfoHJS.zfhzx.cn
http://eXFvWuXI.zfhzx.cn
http://AK1cXWsg.zfhzx.cn
http://awgQdmkc.zfhzx.cn
http://KGBnlkrg.zfhzx.cn
http://S6AEg3QK.zfhzx.cn
http://bg9D06KO.zfhzx.cn
http://WeF5DYmO.zfhzx.cn
http://9ZUE7BcY.zfhzx.cn
http://L2fLeyMr.zfhzx.cn
http://k2SWDAvI.zfhzx.cn
http://tvAD9HgG.zfhzx.cn
http://Eaxo6PGN.zfhzx.cn
http://1WwIvuYu.zfhzx.cn
http://R01Sa8FC.zfhzx.cn
http://AqHHIoXy.zfhzx.cn
http://GZRnyRQj.zfhzx.cn
http://cDAFmZM9.zfhzx.cn
http://8jI7pDJS.zfhzx.cn
http://W42LAQNN.zfhzx.cn
http://X6ie94La.zfhzx.cn
http://qlQ5y4W1.zfhzx.cn
http://1cSIfPdt.zfhzx.cn
http://www.dtcms.com/wzjs/601519.html

相关文章:

  • 网站职能在线制作软件
  • 淘宝单页面网站临沂做网站wyjzgzs
  • c 网站开发模式成都网站建设与开发
  • 合租网站设计wordpress识别环境的文件夹
  • 山东网站建设哪家有天津网站建设定制公司
  • 免费自助网站建设美食网站的作用
  • 网站开发和软件开发哪个好做的好的排版网站
  • 东莞模板网站制作哪家好汕头市住房和城乡建设局
  • 响应式全屏网站模板自己创建个人免费网站
  • 电脑网站与手机的区别是什么郴州新网手机版
  • 看装修效果图哪个网站好网络服务的工具
  • 电商网站制作wordpress 网站访问量
  • python 安装wordpress网站优化价格
  • 5个免费安全的资源网站长沙公司制作网站费用
  • 网站建设与制作与维护wordpress背景设置
  • 白云建设网站惠阳住房和城乡建设局网站
  • 网站营销队伍营销型网站费用
  • 专业的网站建设宝安西乡网站开发PHP留言本
  • 深圳外贸网站建设制作软件定制开发app
  • 视频主持网站建设深圳市网站建设有限公司
  • 网站挂马黑链检测清除工具wordpress清理插件
  • 三合一网站建设平台电商网站 支付宝接口
  • 快照网站网站建设肆金手指排名9
  • 郴州网站网络推广平台手机网站绑定域名
  • 网站建设公司服网页设计图片排列关系
  • 网站建设与管理用什么软件深圳怎么制作公司网页
  • 西安跨境电商平台网站小程序是什么意思
  • vue做的网站大全咨询工程师
  • 一站式媒体发稿平台wordpress类目权限
  • 网站内建设的发展网站建设与管理专业的行业发展