我正在开发一个addressBook程序,它读取csv文件并打印联系人,包括姓氏,名字,地址,城市,州,邮编和电话号码。我已经获得了一段代码,我已经完成了这部分代码的工作。
到目前为止,我已阅读该文件并将内容写入newFile。但是,有一部分代码我不完全确定它的作用。因为我是编程新手,所以我不想只是简单地编写代码,我想知道发生了什么。 我很困惑的部分就在主要声明之后 (主要开始于String [] lname,fname,street .....)
之后的前9行请,任何帮助将不胜感激。
public class Main
{
public static void main (String [] args) throws FileNotFoundException
{
String [] lName, fName, street, city, state, zip, phone;
lName = new String[20];
fName = new String[20];
street = new String[50];
city = new String[20];
state = new String[20];
zip = new String[12];
System.out.println("ADDRESS BOOK CONTENTS: ");
Scanner inFile;
try
{
inFile = new Scanner (new File("src/addresses.csv"));
String temp;
while (inFile.hasNextLine())
{
temp = inFile.nextLine();
System.out.println("Contact: " + temp);
}
System.out.println(inFile);
}
catch (FileNotFoundException e)
{
//catch block
e.printStackTrace();
}
try
{
FileInputStream fileIn = new FileInputStream("src/addresses.csv");
FileOutputStream fileOut = new FileOutputStream("src/newfile.csv");
int c;
while ((c = fileIn.read()) != -1)
{
fileOut.write(c);
}
fileIn.close();
fileOut.close();
}
catch (FileNotFoundException exception1)
{
System.err.println("FileCopy: " + exception1);
}
catch (IOException exception1)
{
System.err.println("FileCopy: " + exception1);
}
}
}
答案 0 :(得分:1)
这只是声明了String[]
类型的一些变量,它是一个字符串数组。
以下几行为这些变量分配了一个新的array
初始容量。
此语法首先声明变量并在之后赋值,但您也可以在一个语句中执行声明和赋值,如下所示:
String[] lName = new String[20];
这两种语法是等价的。
答案 1 :(得分:1)
代码的那些部分是数组创建语句。
lName = new String[20];
表示创建一个包含20个元素的新字符串数组,并将其分配给变量lName
只是为了给你提供更多的数组示例:
lName[4] = "john";
表示将字符串值“john”赋值给数组的第5个(非第4个)元素
String name = lName[0];
表示检索数组的第一个元素并将其分配给名为name