博客 / 詳情

返回

JAVA基礎知識String以及文件目錄讀取

String基礎

String s = "Hello World!";
s.chars().mapToObj(letter -> (char)letter)
        .map(Character::toUpperCase)
        .forEach(System.out::print);
        //輸出
        HELLO WORLD!

StringBuffer是同步的,StringBuilder是不同步的,因此StringBuilder執行速度更快
JDK7以後的String的+操作已經通過了StringBuilder編譯,因此執行速度也很快,不用再必須使用StringBuilder或者StringBuffer了

//讀取文件並輸出發現的第一個Spring的行
try(BufferedReader bf = new BufferedReader(new FileReader(new File("/Users/username/Documents/git_code/course/pom.xml")))){

    Stream<String> stream = bf.lines();
    stream.filter(line -> line.contains("Spring"))
            .findFirst()
            .ifPresent(System.out::println);
}catch(Exception e){

}
//輸出
    <description>Demo project for Spring Boot</description>

另一種讀取

Path path = Paths.get("/Users","/username/Documents/git_code/course/","pom.xml");
try(Stream<String> stream = Files.lines(path)){
    stream.filter(line -> line.contains("Spring"))
            .findFirst()
            .ifPresent(System.out::println);
}catch(Exception e){

}
//輸出
   <description>Demo project for Spring Boot</description>

讀取文件目錄Files.list

Path path = Paths.get("/Users","/username/Documents/git_code/course/");
try(Stream<Path> stream = Files.list(path)){
    stream.filter(p -> p.toFile().isDirectory())
            .forEach(System.out::println);
}catch(Exception e){

}
//輸出
/Users/username/Documents/git_code/course/target
/Users/username/Documents/git_code/course/.mvn
/Users/username/Documents/git_code/course/.idea
/Users/username/Documents/git_code/course/src

遍歷文件目錄Files.walk

Path path = Paths.get("/Users","/username/Documents/git_code/course/");
try(Stream<Path> stream = Files.walk(path)){
    stream.filter(p -> p.toFile().isDirectory())
            .forEach(System.out::println);
}catch(Exception e){

}
//輸出
/Users/username/Documents/git_code/course
/Users/username/Documents/git_code/course/target
/Users/username/Documents/git_code/course/target/generated-sources
/Users/username/Documents/git_code/course/target/generated-sources/annotations
/Users/username/Documents/git_code/course/target/classes
/Users/username/Documents/git_code/course/target/classes/static
/Users/username/Documents/git_code/course/target/classes/templates
/Users/username/Documents/git_code/course/target/classes/templates/pdf
/Users/username/Documents/git_code/course/.mvn
/Users/username/Documents/git_code/course/.mvn/wrapper
/Users/username/Documents/git_code/course/.idea
/Users/username/Documents/git_code/course/.idea/libraries
/Users/username/Documents/git_code/course/src

遍歷指定層級目錄Files.walk

Path path = Paths.get("/Users","/username/Documents/git_code/course/");
try(Stream<Path> stream = Files.walk(path, 2)){
    stream.filter(p -> p.toFile().isDirectory())
            .forEach(System.out::println);
}catch(Exception e){

}
//輸出
/Users/username/Documents/git_code/course
/Users/username/Documents/git_code/course/target
/Users/username/Documents/git_code/course/target/generated-sources
/Users/username/Documents/git_code/course/target/classes
/Users/username/Documents/git_code/course/.mvn
/Users/username/Documents/git_code/course/.mvn/wrapper
/Users/username/Documents/git_code/course/.idea
/Users/username/Documents/git_code/course/.idea/libraries
/Users/username/Documents/git_code/course/src
/Users/username/Documents/git_code/course/src/test
/Users/username/Documents/git_code/course/src/main
user avatar eisuto 頭像 cunyu1943 頭像 huzilachadedanche 頭像 mo_or 頭像 lingfeng23 頭像 redorblack 頭像 nian_5aedc008c1353 頭像 91cyz 頭像 saoming_zhang 頭像 qiehxb8 頭像 u_16213560 頭像 jellyfishmix 頭像
18 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.