public void readDataFromFile(String filename) throws FileNotFoundException { Scanner scanner = new Scanner(new File(filename)); while (scanner.hasNext()) { String line = scanner.nextLine(); String[] parts = line.split(","); String id = parts[0]; String name = parts[1]; double price = Double.parseDouble(parts[2]); int quantity = Integer.parseInt(parts[3]); double sales = Double.parseDouble(parts[4]); Drug drug = new Drug(id, name, price, quantity, sales); drugs[size++] = drug; } scanner.close(); }
时间: 2024-02-14 14:33:35 浏览: 128
这段代码是用于从文件中读取数据并将其存入一个Drug数组中。该方法接收一个文件名作为参数,并使用Scanner类从文件中读取数据。每读取一行数据,就将其按照逗号分隔,得到药品的id、名称、价格、数量和销售量等信息。然后使用这些信息创建一个Drug对象,并将其存入数组中。最后,将数组的大小size自增1。当文件中的所有数据都读取完毕后,关闭Scanner对象。值得注意的是,该方法会抛出FileNotFoundException异常,需要在方法调用时进行处理。
相关问题
private void readIntegersFromFile(File file) throws FileNotFoundException { Scanner scanner = new Scanner(file); if (model.getColumnCount() == 0) { String line = scanner.nextLine(); String[] values = line.split(","); model.setColumnCount(values.length); } while (scanner.hasNextLine()) { String line = scanner.nextLine(); String[] values = line.split(","); model.addRow(values); } scanner.close(); }
这段代码是用于从文件中读取整数并将其填充到表格(model)中。具体实现是:首先创建一个 `Scanner` 对象 scanner,将文件作为参数传入,然后判断表格的列数是否为 0,如果是 0,则读取文件的第一行,并将其按逗号分隔成字符串数组,数组的长度就是列数。接下来,使用 `while` 循环读取文件中的每一行,将其按逗号分隔成字符串数组,然后将这些字符串添加到表格的新行中,最后关闭 `Scanner` 对象。需要注意的是,如果文件中的数据不是整数,则会抛出 `NumberFormatException` 异常。
package project05demo1; import java.util.ArrayList; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; public class Test { public static void main(String[] args) throws FileNotFoundException, InvalidTriangleException{ start(); } public static void start() throws FileNotFoundException, InvalidTriangleException { //create an empty list of shapes and save the reference. ArrayList<Shape> ShapeList=new ArrayList<Shape>(); create(ShapeList); //Pass the reference to create method that fills the list. //create(ShapeList); } public static void create(ArrayList<Shape> ShapeList)throws FileNotFoundException,InvalidTriangleException{ //create shape objects using data from an input file. File file=new File("ShapeData.txt"); Scanner InputFile=new Scanner(file); double a,b,c; while(InputFile.hasNext()) { while(InputFile.nextLine()!="Triangle"){ String RectangleName; RectangleName=InputFile.nextLine(); a=InputFile.nextDouble(); b=InputFile.nextDouble(); ShapeList.add(new Rectangle(RectangleName,a,b)); } while(InputFile.nextLine()!="Circle") { String TriangleName; TriangleName=InputFile.nextLine(); a=InputFile.nextDouble(); b=InputFile.nextDouble(); c=InputFile.nextDouble(); ShapeList.add(new Triangle(TriangleName,a,b,c)); } while(InputFile.hasNextLine()) { String CircleName; CircleName=InputFile.nextLine(); a=InputFile.nextDouble(); ShapeList.add(new Circle(CircleName,a)); } } InputFile.close(); } public static void display(ArrayList<Shape> ShapeList) { for(int i=0;i<ShapeList.size();i++) { System.out.println(ShapeList.get(i)); } } }
这是一个Java程序,用于读取一个包含不同形状数据的文件,并创建相应的形状对象。程序包含三个类:Shape、Rectangle、Triangle和Circle。其中Shape是所有形状的基类,而Rectangle、Triangle和Circle是Shape的子类。程序使用ArrayList来存储所有创建的形状对象,并提供了一个display方法,用于打印所有形状对象的信息。
该程序还涉及到一个InvalidTriangleException异常类,用于在创建Triangle对象时检查是否为有效的三角形。程序的主方法是start方法,它调用create方法来读取文件并创建形状对象,然后调用display方法来打印形状对象的信息。
阅读全文