簡體   English   中英

使用掃描儀讀取.csv文件

[英]Reading a .csv file using scanner

我正在從事一個涉及向用戶詢問其郵政編碼的項目。 使用提供的郵政編碼,該程序應循環訪問.csv文件以確定他們居住的城市。我可以讀取.csv文件中的信息,但我不知道如何循環查找特定的信息。

import java.util.Scanner;
import java.io.*;

public class DetermineCity {

public static void main(String[] args) throws IOException {

    String zip = "99820,AK,ANGOON";

    Scanner keyboard = new Scanner(System.in);

    System.out.println("enter then name of a file");
    String filename = keyboard.nextLine();

    File file = new File(filename);
    Scanner inputFile = new Scanner(file);
    String line = inputFile.nextLine();

    System.out.println("The first line in the file is ");
    System.out.println(line);
    inputFile.close();
  }
}

使用Scanner.hasNext()方法循環

String Details="";
int ZipCodeIndex=0;
String ZipCode = "10230"
Scanner inputFile = new Scanner(file);
while(inputFile.hasNext()){
     String x=inputFile.nextLine();
     String[] arr=x.split(",");
     if(ZipCode.equals(arr[ZipCodeIndex]))
     {
       Details=x;
       break;
     }
}

假設您的文件格式為“ 2301,郊區,城市,國家/地區”

  1. .nextLine()函數返回下一行的字符串,但是如果它們不是一行,則返回null。 因此,使用while循環可以瀏覽文件並將每一行存儲在字符串中。
  2. 然后,使用.split()方法,您將使用定界符“,”斷開此字符串。 這將存儲在數組中。
  3. 然后將用戶郵政編碼與數組的第一個值進行比較。 如果它們匹配,那么您將擁有一個包含城市和其他信息的數組。 找到您所在的城市后,您將發表一份休息聲明。

     String suburb; String[] lineArray; String line = null; while((line = inputFile.nextLine()) != null){ lineArray[] = line.split(","); if(lineArray[0] == zipCodeString){ suburb = lineArray[1]; break; } } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM