使用给定文件构造对象

时间:2018-02-12 03:46:47

标签: java file-io java.util.scanner

我试图使用构造函数从文件创建一个对象,该文件应该包含(在第一行)一个Int in String格式,这个格式就是MD Array的行数和然后有一个空格,后跟另一个Int in String格式。我试图抓住"这两个字符串,将它们解析成一个int,然后通过使用这两个整数来实例化MD数组我已经抓住了。"我只是不太确定我哪里出错了,因为我刚开始在编码中使用文件I / O.这是我的代码。

PhoneList::~PhoneList()
{
    PhoneNode *ptr = head;

    while (ptr != NULL)
    {
        head = head->getNext();
        delete ptr;
        ptr = head;
    }
}

任何帮助都会非常感激:)

1 个答案:

答案 0 :(得分:0)

根据您的问题,您想要以字符串格式抓取两个数字,用空格分隔。 我会抓住整条线然后修剪弦,确保在我需要的数字之前或之后没有空格。然后根据空间分割它们。

请看这个简化的分步示例。这个例子将创建一个名为numbers.txt的文件,然后将其放入字符串" 5 2"。然后将读取文件并拆分以获取数字。

import java.util.*;
import java.io.*;
import java.nio.*;

PrintWriter fileWriter = new PrintWriter("numbers.txt", "UTF-8");
fileWriter.println("5 2");
fileWriter.close();
File file = new File("numbers.txt");
Scanner input = new Scanner(file);
String numbersString;
if (input.hasNextLine()) numbersString = input.nextLine();

// Trim the string to ensure you have what you need.
numbersString = numbersString.trim();

// Split both numbers according to the space within them.
String[] numsArray = numbersString.split("\\s+");

// Get your numbers. 
int row = Integer.valueOf(numsArray[0]);
int col = Integer.valueOf(numsArray[1]);