第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java:如何讀取文本文件

Java:如何讀取文本文件

qq_遁去的一_1 2019-06-29 09:57:14
Java:如何讀取文本文件我想讀取一個(gè)包含空格分隔值的文本文件。值是整數(shù)。我如何讀取它并將其放入數(shù)組列表中?以下是文本文件內(nèi)容的示例:1 62 4 55 5 6 77我想把它列成[1, 62, 4, 55, 5, 6, 77]..我如何在Java中做到這一點(diǎn)?
查看完整描述

3 回答

?
翻翻過去那場雪

TA貢獻(xiàn)2065條經(jīng)驗(yàn) 獲得超14個(gè)贊

你可以用Files#readAllLines()將文本文件的所有行放入List<String>.

for (String line : Files.readAllLines(Paths.get("/path/to/file.txt"))) {
    // ...}

教程:基本I/O>文件I/O>讀取、寫入和創(chuàng)建文本文件


你可以用String#split()劈開String在基于正則表達(dá)式的部分中。

for (String part : line.split("\\s+")) {
    // ...}

教程:數(shù)字和字符串>處理字符串中的字符


你可以用Integer#valueOf()轉(zhuǎn)換為String變成Integer.

Integer i = Integer.valueOf(part);

教程:數(shù)與串>數(shù)與串之間的轉(zhuǎn)換


你可以用List#add()若要將元素添加到List.

numbers.add(i);

教程:接口>列表接口


因此,簡單地說(假設(shè)文件沒有空行或尾隨/前導(dǎo)空格)。

List<Integer> numbers = new ArrayList<>();for (String line : Files.readAllLines(Paths.get("/path/to/file.txt"))) {
    for (String part : line.split("\\s+")) {
        Integer i = Integer.valueOf(part);
        numbers.add(i);
    }}

如果您碰巧已經(jīng)在Java 8,那么您甚至可以使用流API為此,從Files#lines().

List<Integer> numbers = Files.lines(Paths.get("/path/to/test.txt"))
    .map(line -> line.split("\\s+")).flatMap(Arrays::stream)
    .map(Integer::valueOf)
    .collect(Collectors.toList());

教程:用Java 8流處理數(shù)據(jù)


查看完整回答
反對 回復(fù) 2019-06-29
?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

Java 1.5引入了掃描器類處理來自文件和流的輸入。

它用于從文件中獲取整數(shù),如下所示:

List<Integer> integers = new ArrayList<Integer>();Scanner fileScanner = new Scanner(new File("c:\\file.txt"));while (fileScanner.hasNextInt()){
   integers.add(fileScanner.nextInt());}

不過,請檢查API。處理不同類型的輸入源、不同的分隔符和不同的數(shù)據(jù)類型有更多的選項(xiàng)。


查看完整回答
反對 回復(fù) 2019-06-29
  • 3 回答
  • 0 關(guān)注
  • 359 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號