读取Soctket用的DataInputStream和DataOutputStream类:
可以以编码的形式读写:readUTF() 和 writeUTF(String str),也可以使用byte:
public final int read(byte[] b)public void write(byte[] b)
这样做需要考虑byte数组的越界问题,首先你需要创建一个byte数组,数组是规定了大小的。例如256长度的数组,但是read返回的int是实际读取的长度。当长度小于256时,数组当中有许多0在后面,对于后续处理十分不方便。
所以,需要使用byte[] copy = Arrays.copyOfRange(src, 0, length);来获取一个新的数组。注意java的边界一般都是前闭后开。
JSON的一些资料:
API资料:https://stleary.github.io/JSON-java/,可以也可以自己下载文件后,利用eclipse生成Java Doc文件。方法如下:
使用eclipse生成文档(javadoc)主要有三种方法: 1,在项目列表中按右键,选择Export(导出),然后在Export(导出)对话框中选择java下的javadoc,提交到下一步。 在Javadoc Generation对话框中有两个地方要注意的: javadoc command:应该选择jdk的bin/javadoc.exe destination:为生成文档的保存路径,可自由选择。 按finish(完成)提交即可开始生成文档。 2,用菜单选择:File->Export(文件->导出), 剩下的步骤和第一种方法是一样的。 3,选中要生成文档的项目,然后用菜单选择, PRoject->Generate Javadoc直接进入Javadoc Generation对话框,剩余的步骤就和第一种方法在Javadoc Generation对话框开始是一样的。
JAR包的下载只需要在网上搜:org.json即可。其中可以使用JSON Object()来包装数据。其中一个构造器接受以map作为参数。利用JSON Object的get和put,我们可以像操作hashmap一样操作JSON Object。关于JSON Object和Map之间的转化,可以看这篇文章:
http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html,其中用到了JavaBean。什么是JavaBean呢?JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。
可以通过JSONObject的toString来生成JSON格式的字符串用以其它用途。
在Eclipse如何导入外部JAR包?
有两种常用的方法。1. 以外部包(External Archives)的形式导入。在默认位于 Eclipse 窗口左侧的 Package Explorer 中,右键项目名,点击 Build Path 项下的 Add External Archives。 然后在弹出的文件选择窗口中选中 acm.jar 即可。这种方法适用于导入单个的 jar 包。2. 以 User Library 的形式导入。User Library 即用户类库,用来组织多个 jar 包。在默认位于 Eclipse 窗口左侧的 Package Explorer 中,右键项目名,点击 Build Path 项下的 Add Libraries。 在弹出的窗口中选中 User Library 并点击下一步。在新出现的窗口(窗口一)中,点击位于右侧的 User Libraries... 按钮进入 User Library Preferences 窗口。接着,点击 New 按钮,输入用户类库名称,例如 『ACM』,点击 OK。然后单击选中新创建的用户类库,点击右侧的 Add JARs 按钮,选中一个或多个 jar 文件,点 OK。接下来,返回窗口一中选中刚刚新创建的用户类库,点击 OK 即可。这种方法适用于多个 jar 包的导入。
在Javac和Java的时候如何导入jar包 (linux下):
javac -cp /root/abc.jar: ~/Test.java
java -cp /root/abc.jar: ~/Test
如何检查一个字符串里面是否都是ASCII字符?
自己做的办法是:把每一个char都转型为int,看看是否在[0, 128)之内。
当然,stackoverflow上向我们展示了google的google java核心工程 —— Guava项目是Google Java工程的核心基础类库,主要包括:集合,缓存,原始类型扩展,并发,注解,字符串处理,IO等等。谷人希不愧是人类的希望,Guava不大五脏俱全,里面有很多令人赞叹的代码,读后有种原来Java也可以这么优雅的感觉。里面有一个:
boolean isAscii = CharMatcher.ASCII.matchesAllOf(someString);From Guava 19.0 on, you should use CharMatcher.ascii() instead.
新闻热点
疑难解答