一些java基础方法

一:遍历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各种数据流


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值