一:遍历MAP
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("1", "value1");
map.put("2", "value2");
map.put("3", "value3");
//第一种:普遍使用,二次取值
System.out.println("通过Map.keySet遍历key和value:");
for (String key : map.keySet()) {
System.out.println("key= "+ key + " and value= " + map.get(key));
}
//第二种
System.out.println("通过Map.entrySet使用iterator遍历key和value:");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第三种:推荐,尤其是容量大时
System.out.println("通过Map.entrySet遍历key和value");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
//第四种
System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
for (String v : map.values()) {
System.out.println("value= " + v);
}
}
二:JSON与各种数据格式转换
json需要自己去下载一个json包
json转换成Map
String json = "";//一个标准的json字符串
ObjectMapper mapper = new ObjectMapper();
Map<String,Object> productMap = mapper.readValue(json);//转成map
Map转换为json
JSONObject jsonObject = JSONObject.fromMap(productMap);
JSONObject jsonObject = JSONObject.fromObject(productMap);
三:遍历json字符串
四:java各种各种数据之间的互相转换
String 转 int
String str = "1";
(1)int t = Integer.valueOf(str);
(2)int i = Integer.valueOf(str).intValue();
int 转String
int num = 1;
(1)String str = String.valueOf(num);
(2)String sri = ""+num;
String转byte[](常用UTF-8、
GB2312等)
<pre name="code" class="java">方法1:不指定格式
str = "nihao";byte[] by = str.getBytes();
<pre name="code" class="java">方法2:指定格式
str = "nihao";byte[] by = str.getBytes("UTF-16");
</pre><pre name="code" class="java"><pre name="code" class="java"><span style="font-family: Arial, Helvetica, sans-serif;">byte[]转</span><span style="font-family: Arial, Helvetica, sans-serif;">String</span>
方法1:不指定格式str = "nihao";byte[] by = str.getBytes(:);str = new String(by);
方法2:指定格式
str = "nihao";
byte[] by = str.getBytes("UTF-16");
str = new String(by,"UTF-16");
int、String和byte[]互转(通过将int转换成String,然后再转换成byte[])
int num = 300;
String str = String.valueOf(num);
byte[] by = str.getBytes();
str = new String(by);
num = Integer.valueOf(str);
System.out.println(num);
int如果小于255可以直接强制转换成byte。如果大于255,你就等着他乱彪吧
byte byt = (byte)num;
字节流读取与输<span style="color:#FF0000;">出</span>
1.读取文件:
InputStream file = new FileInputStream("C:\\Users\\Administrator\\Desktop\\TEST.txt");
int num = file.available();
//如果这里不限制数组长度,后面输出会多输出很多位
byte[] b = new byte[num];
(1)一次读入一个字节,每读一次,数字将逐步减少,直到减少成-1
while(file.read()>-1)
{
//读取
//<span style="color:#FF0000;">注意:这里的如果分多次读取,那么b数组的数据每次都会被后面的数据直接覆盖。即里面只有本次读取的数据,之前读的数据直接被覆盖</span>
file.read(b,0,num);
System.out.println(new String(b));
}
file.close();
(2)一次读取一部分数据到指定数组,直到读完就变成-1
while(file.read(b)>-1)
{
System.out.println(new String(b));
}
file.close();
(3)每次读取指定长度(num)的字节数据,直到读完变成-1
while(file.read(b,0,num)>-1)
{
System.out.println(new String(b));
}
file.close();
2.输出
OutputStream fileout = new FileOutputStream("C:\\Users\\Administrator\\Desktop\\TEST1.txt");
//输出方法1:完全输出
fileout.write(b);
//输出方法2:只输出部分
fileout.write(b,0,num-20);
字符流读取与输出
字符读取文件:同样分指定大小读取、一个字符字符的读取,和字节读取一样。
//注意:这里的如果分多次读取,那么b数组的数据每次都会被后面的数据直接覆盖。即里面只有本次读取的数据,之前读的数据直接被覆盖
public static void main(String[] arg) throws IOException
{
char[] ch = new char[1024];
int num =0;
Reader read = new FileReader("C:\\Users\\lenovo\\Desktop\\TEST.txt");
//<span style="color:#FF0000;">此处的num意思是读取了多大的数组出来,如果文件内容有12字节,那么第一次num = 10;第二次num = 2;</span>
while((num = read.read(ch, 0, 10))!=-1)
{
System.out.println("输出:"+num);
System.out.print(ch);
System.out.println("输出结束");
}
}
字符串读取文件
public static void main(String[] arg) throws IOException
{
int num =0;
String str = null;
Reader read = new FileReader("C:\\Users\\lenovo\\Desktop\\TEST.txt");
BufferedReader reader = new BufferedReader(read);
//str的意思就是读取一行文件里面的内容
while((str= reader.readLine())!=null)
{
System.out.println("输出:" +(num++));
System.out.print(str);
System.out.println("输出结束");
}
reader.close();
read.close();
}
字符输出到文件:
字符输出到文件:
字符串输出到文件
Writer write = new FileWriter("C:\\Users\\lenovo\\Desktop\\TEST.txt");
BufferedWriter writer = new BufferedWriter(write);
writer.write("hello,测试IO输出流");
writer.close();
write.close();
字符流与字节流之间转换
字节数组转换成字节流
byte[] bytess = {};
ByteArrayInputStream byteinput = new ByteArrayInputStream(bytess);
InputStream input = new ByteArrayInputStream(bytess);
InputStream inputSt = new ByteArrayInputStream(bytess,0,bytess.length);
五:java调用soap原理
六:java使用soap调用webservice的两个协议基本格式
七:java各种数据流