DataOutputStream的writeBytes(String s)】的更多相关文章

最近,在关于网络请求中有用到DataOutputStraem中的writeBytes()方法,然而就是这个问题,导致了传输中文时就出现问题,着实困扰了很长一段时间. 后来,服务器端同事建议我使用DataOutputStream.write(byte[])方法,发现问题解决了.起初认为是编码问题,后来认真研究了一下,发现了问题的原因. 首先,先看一下DataOutputStream的writeBytes方法的实现. /** * Writes out the string to the underl…
本章介绍DataOutputStream.我们先对DataOutputStream有个大致认识,然后再深入学习它的源码,最后通过示例加深对它的了解. 转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_15.html DataOutputStream 介绍 DataOutputStream 是数据输出流.它继承于FilterOutputStream.DataOutputStream 是用来装饰其它输出流,将DataOutputStream和DataI…
转载请注明源出处:http://www.cnblogs.com/lighten/p/6986155.html 1.前言 DataInputStream和DataOutputStream分别继承了FilterInputStream和FilterOutputStream,这块内容在第二节介绍BufferedInputStream和BufferedOutputStream的时候介绍过了,这里不再介绍.Java中针对于IO有许多现有的封装类可以使用,但是每个封装类都有各自的特点,使用场景不一样.本章介绍…
 一.理论概述 数据输入/输出流(DataInputStream类与DataOutputStream类) 允许应用程序以与机器无关的方式从底层输入流中读取基本Java数据类型. 说白了就是,当读取一个数据时,不用再关心这个数值是那种字节 .  二.用法: DataInputStream类与DataOutputStream类的构造方法如下: 1,DataInputStream(InputStream in):使用指定的基础InputStream创建一个DataInputStream . 2,Dat…
writeBytes public final void writeBytes(String s) throws IOException 按字节序列将该字符串写入该文件.该字符串中的每个字符均按顺序写出,并丢弃其高八位.写入从文件指针的当前位置开始 -- 问题出在writeBytes(String s)这个方法上. JAVA中的char是16位的,一个char存储一个中文字符,直接用writeBytes方法转换会变为8位,直接导致高8位丢失.从而导致中文乱码. 解决方法: 现转换为字节组,再wr…
57节介绍了字节流, 58节介绍了字符流,它们都是以流的方式读写文件,流的方式有几个限制: 要么读,要么写,不能同时读和写 不能随机读写,只能从头读到尾,且不能重复读,虽然通过缓冲可以实现部分重读,但是有限制 Java中还有一个类RandomAccessFile,它没有这两个限制,既可以读,也可以写,还可以随机读写,它是一个更接近于操作系统API的封装类. 本节,我们介绍就来介绍这个类,同时,我们介绍它的一个应用,实现一个简单的键值对数据库,怎么实现数据库呢?我们先来看RandomAccessF…
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象称作 输入流,可以向其中写入一个字节序列的对象称作 输出流. ☑ 这些字节序列的来源可以是:文件.网络连接.内存块等. ☑ 抽象类InputStream和OutputStream是构成输入/输出(I/O)的基础. ☑ 因为面向字节的流不便于处理以Unicode形式存储的信息(字符),所以从抽象类Re…
上传方式:两种   1:Base64() (1):获取图片路径,将图片转为String 类型 (2):通过post提交的方式.以键值对的方式上传到服务器,和一般的提交关键字没有任何区别. (3):这种适用于图片少的时候使用.   转码代码如下:   public class Base64Code {   // constructor public Base64Code() {   }   /** * Encode image to Base64 string * @param srcPath *…
论文写完,感觉头脑好久没被灵感刺激了,前些天室友介绍了个小游戏,我突然来了灵感可以写的简单的android 程序实现自动运行.主要的过会为三步: 1,Android 屏幕的获取.因为安全的原因,过程比较麻烦,我目前采用的是开启用户调试模式,利用adb脚本反复循环截图. 2,图像分析.这部分代码中有体现,过程比较简单. 3,模拟Click.代码中已经体,,我采用了一种最简单的方法,代码将在下面做详细分析. 先上个图,一口气跑到183分: 分析图片的代码如下,具体过程为:先获取图像->找到纯黑色的区…
纵骑横飞  章仕烜   首先我们来看一下 DataOutputStream   /**  * A data output stream lets an application write primitive Java data  * types to an output stream in a portable way. An application can  * then use a data input stream to read the data back in.  *  * @auth…
Android的三种网络联接方式 1.标准Java接口:java.net.*提供相关的类//定义地址URL url = new URL("http://www.google.com");//打开连接HttpURLConnection http = (HttpURLConnection) url.openConnection(); 2.Apache接口:android.net.http.*//DefaultHttpClient表示默认属性HttpClient httpClient = n…
建立一个URL url = new URL("location"); 建立 httpurlconnection :HttpUrlConnection httpConn = (HttpUrlConnection)url.openConnection();//强制类型转换 String requestString = "什么gui";设置连接属性:httpConn.setDoOutPut(true); //使用URL进行输出httpConn.setDoInPut(tru…
起因: 前几天遇到的问题,才有时间记录,需求:本地生成xml形式的字符串以参数形式用post方法传送到对方的固定接口: 这个需求写的时候感觉很容易,本地测试的时候,也觉得很简单就过了,然后和对方联调的时候,稀里哗啦调了N久, 中间对方换了人接手,稀里哗啦又调了N久,对方改代码,稀里哗啦又又调了N久,最后上线了,发现接口对不上,,, 经过: 问题最开始只是乱码问题,无非就是UTF-8和GBK之间的转换,我们这边统一的UTF-8的编码,对方是GBK.对面改为 了UTF-8,联调以正确结束:然后对面换…
取网络数据主要靠发交易(或者说请求,接口等),而这些交易由java中的网络通信,HttpURLConnection和HttpClient实现,以下是具体例子.   大家都知道,网络通信,发送请求有两种方式,GET和POST,这里也不例外.   1.HttpURLConnection的GET方式获取网络数据,get方式将参数放在url后一起传递过去,而且会被看到,一般不太安全,但是get方式只获取数据,不会更新数据. 步骤: (1).建立URL,URL url=new URL(urltmp); /…
最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内.在Java中可以使用HttpURLConnection发起这两种请求,了解此类,对于了解soap,和编写servlet的自动测试代码都有很大的帮助.下面的代码简单描述了如何使用HttpURLConnection发起这两种请求,以及传递参数的方法: public class H…
public interface DataInput DataInput 接口用于从二进制流中读取字节,并重构所有 Java 基本类型数据.同时还提供根据 UTF-8 修改版格式的数据重构 String 的工具. 对于此接口中的所有数据读取例程来说,如果在读取到所需字节数的数据之前已经到达文件末尾 (end of file),则都将抛出 EOFException(IOException 的一种).如果因为文件末尾以外的其他原因无法读取字节,则抛出 IOException 而不是 EOFExcep…
1.概念   HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection.但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活. 除此之外,在Android中,androidSDK中集成了Apache的HttpClient模块,用来提供高效的.最新的.功能丰富的支持 HTTP 协…
Android端通过HttpURLConnection上传文件到服务器 一:实现原理 最近在做Android客户端的应用开发,涉及到要把图片上传到后台服务器中,自己选择了做Spring3 MVC HTTP API作为后台上传接口,android客户端我选择用HttpURLConnection来通过form提交文件数据实现上传功能,本来想网上搜搜拷贝一下改改代码就好啦,发现根本没有现成的例子,多数的例子都是基于HttpClient的或者是基于Base64编码以后作为字符串来传输图像数据,于是我不得…
本文主要是记录一下JAVA: 1.Arrays.的几个用法: fill:数组全部置一个数 sort:排序 binarySearch:二分查找 2.Map的用法: Map<Integer,Integer> ma = new HashMap<Integer,Integer>(); ma.put(key, val); int val = ma.get(key); // key没有的话,为null,所以需要先判断是否为null 3.Math.的用法 4.文件操作: FileInputStr…
import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException; import com.sun.org.apache.xerces.internal.impl.dv.util.Base64; /** …
转自:http://mobile.51cto.com/abased-448264.htm 最常用的Http请求无非是get和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内.在Java中可以使用HttpURLConnection发起这两种请求,了解此类,对于了解soap,和编写servlet的自动测试代码都有很大的帮助.下面的代码简单描述了如何使用HttpU…
HTTP 请求方式: GET和POST的比较 请求包.png 例子.png 响应包.png 例子.png 请求头描述了客户端向服务器发送请求时使用的http协议类型,所使用的编码,以及发送内容的长度,等等. 相应的响应头用来描述服务器回给你对所返回的content的一些描述,服务器类型,我返回的编码,我返回的内容有多长等等. 文/srtianxia(简书作者)原文链接:http://www.jianshu.com/p/42a396430be5著作权归作者所有,转载请联系作者获得授权,并标注“简书…
首先:在 JDK 的 java.net 包中已经提供了访问 HTTP 协议的基本功能:HttpURLConnection.但是对于大部分应用程序来说,JDK 库本身提供的功能还不够丰富和灵活. 在Android中,androidSDK中集成了Apache的HttpClient模块,用来提供高效的.最新的.功能丰富的支持 HTTP 协议工具包,并且它支持 HTTP 协议最新的版本和建议.使用HttpClient可以快速开发出功能强大的Http程序. 其次:HttpClient是个很不错的开源框架,…
因为项目中很多地方都与Http协议有关,零散的了解了一下Http协议,但是没有系统的学习过. 今天根据网上其他同学的整理,加上我的一些经验,我也整理了一份.当做学习记录吧. 一.什么是HTTP协议 HTTP,全名HyperText Transfer Protocol.因特网上应用最为广泛的一种网络协议.设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法.现在对与HTTP协议的应用已经很多了,浏览器上网,下载文件,服务器间通信等. 二.HTTP协议格式 如下图,一次完整的HTTP交易…
如今是2014-07-16 下午15:27. 好久没写过东西,突然间灵感喷发想写点东西(事实上是刚刚弄好了一个棘手的问题,自豪中..呵呵呵呵 我牛掰).废话不多说,进入正题. 不知道你们又没有碰到这问题,本身做的一个应用,可以监听开机广播的.但非常奇怪,在android3.0下面的版本号 你怎么跑都没问题.可是在android3.0以上的版本号就恐怕情况不一样了.你会发现往往非常多时候接收不到开机广播.这是为什么呢?嘿 不告诉你! 说笑的 事实上这方面百度非常多人给出为什么了.我在这就不多废话了…
本人博客原文 首先把你的自己的su的放到Android应用程序project的assets文件夹,为了和系统的su区分,我自己的su文件叫做sur. 另外我这里没有考虑x86架构的cpu的手机. 废话不多说,直接上代码吧! Util.java文件 package cdut.robin.root.utils; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import j…
主要内容包括OutputStream及其部分子类,以分析源代码的方式学习.关心的问题包括:每个字节输出流的作用,各个流之间的主要区别,何时使用某个流,区分节点流和处理流,流的输出目标等问题. OutputStream的类树如下所示,其中,ObjectOutputStream和PipedOutputStream本文将不做讨论. java.io.OutputStream (implements java.io.Closeable, java.io.Flushable) java.io.ByteArr…
接上节Http学习之使用HttpURLConnection发送post和get请求 本节深入学习post请求. 上 节说道,post请求的OutputStream实际上不是网络流,而是写入内存,在getInputStream中才真正把写道流里面的内容作为正文与 根据之前的配置生成的http request头合并成真正的http request,并在此时才真正向服务器发送. HttpURLConnection.setChunkedStreamingMode 函数可以改变这个模式,设置了Chunke…
最近在弄一个sip网页集成版软电话,为了功能的完善,呼叫中心的工作人员为我们提供了一个http接口,我先在网页中直接打开分析了一下他的返回值,然后又放到js中去访问,结果一放到js中一访问就发现浏览器会提示: 刚开始我百思不得其解,查询过表头中未找到源http://localhost:8080,原本我还以为是在发送的时候我的表头有问题,但是用html5设置表头尝试了几次,发现还是提示一样的问题,于是我又在网上查询了一下0x80070005这个错误代码,网上提示说是属于跨域了,于是我又跟着网上的方…
程序中,为了永久的保存创建的数据,需要将其保存在磁盘文件中,以便在其它程序中使用它们.Java的I/O技术可以将数据保存到文本文件.二进制文件甚至是ZIP压缩文件中,以达到永久性保存数据的要求. 本篇我们要介绍的内容就是Java的I/O技术,即输入/输出. 一.输入/输出流 流是一组有序的数据序列,根据操作的类型,可分为输入流和输出流. 而专门负责各种方式的输入.输出的类,都被放在java.io包中.所有输入流都是抽象类InputStream(字节输入流)或抽象类Reader(字符输入流)的子类…