java笔记

1.JAVA静态方法

  非静态方法可以调用静态变量

  静态方法 只能调用静态变量, 

  可以使用    类名.方法名 ( 为静态变量/方法)

 

2.Java数据写入文件

   <1. 判断文件是否存在且不为空

File file = new File("D:\\test.txt");  
if(!file.exists() || file.length)() == 0) {  
    System.out.println("文件为空!");  
}  

 <2.

判断文件是否存在

  http://blog.chinaunix.net/uid-26284395-id-3260936.html

  1. File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm");    
  2. if(!file.exists()) 

 <3.文件录入

https://www.cnblogs.com/yhqtv-com/p/12882017.html

package com.zch.io;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * 创建BranchWriter类,在主方法中定义文件对象,将该对象作为参数创建BufferedWriter类实例,
 * 调用该实例的writer方法将数据写入文件中,然后 调用newLine()方法写入换行符,实现分行向文件写入数据。
 * 
 * @author zch
 * 
 */
public class BranchWriter {
    public static void main(String[] args) {
        String filePath = "D://BranchWriter.txt";

        File file = new File(filePath);

        try {
            if (!file.exists()) {
                file.createNewFile();
            }
            FileWriter fw = new FileWriter(file); // 创建文件输出流

            BufferedWriter bw = new BufferedWriter(fw); // 使用缓冲区数据流封装输出流
            for (int i = 0; i < 100; i++) {                //循环写入100行数据
                
                bw.write("Java交互管道——IO流".toCharArray());// 写入数据到输出流
                
                bw.newLine(); // 写入换行符
                
                bw.flush(); // 刷新缓冲区
            }

            System.out.println("成功写入数据!");

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

 

 3.创建字符串数组集合,并存入打印

  1.(ArrayList)

        String line = br.readLine();
        List <String[]> a1 = new ArrayList();    //创建集合数组
        
        while(line != null){
            rList=line.split("    ");    //用tab 分割每个数组     split字符串分割函数
                        //数组=line后,大小就被确定了,每次只能读取(一行)5个字符串,
            
            a1.add(rList);        //将此行信息添加到集合数组中
            
                line =br.readLine();        //每次都要读取新的一行
                }

            for(String[] x:a1){
                System.out.println(Arrays.toString(x));    //打印集合
            }

   2.键值对集合 map集合 (键值对 集合接口)  https://blog.csdn.net/mashaokang1314/article/details/83784159

 

  HashMap,TreeMap(按key升序排序),Hshtable,LinkedHashMap

 

4.集合的排序

 <1.Arrays.sort();

<2.调用比较器Comparator

Collections.sort(list, new Comparator<String[]>(){
            public int compare(String[] sArray1,String[] sArray2){
                double d2=Double.parseDouble(sArray2[0]);  //强制转型
                double d1=Double.parseDouble(sArray1[0]);
if(d2>d1){      //从大到小排序 return 1; }else if (d1<d2){ return -1; } return 0; } });

  这段代码中,Comparator是用匿名内部类实现的,就是new Comparator(){}这种格式。
  比较大小的规则,由compare()方法来实现。
  <String[]>是泛型,规定了比较的数组类型必须是String[]类型。

 

 

 

5.字符串分割函数       split()

 

                    String rList[]=null;    //创建读取文件数组
                    
                    String line = br.readLine();
                    while(line != null){
                        rList=line.split("    ");    //用tab 分割每个数组
                                    //数字=line后,大小就被确定了,
                        
                        line =br.readLine();
                        for(int i=0;i<rList.length;i++){
                        System.out.print(rList[i]+" ");
                        } 
                    }               
                    
                    System.out.println("读取成功")

 

6.判断字符串不为空     https://www.iteye.com/blog/for-dream-1570499

  直接引入工具类  StringUtils

引入工具类 StringUtils.isNullOrEmpty(xxx)  判断字符串不为空且长度>0

  str!=null; 2. "".equals(str); 3. str.length()!=0;

 

7.字符串比较  : equals()

       在有读取多余空格,或者整行读取后,进行比较时,记得加trim

      去除多余空格: trim()   

 

 

 

posted @ 2021-05-23 17:03  simp1e1  阅读(55)  评论(0)    收藏  举报