Прежде всего, я рекомендую вам создать класс Entry
, который представляет ваши данные.
private class Entry {
private String name;
private double length;
private double width;
// getters and setters omitted
@Override
public String toString() {
// omitted
}
}
Затем создайте метод, который принимает String
в качестве аргументов и отвечает за разбор строки текста в экземпляре Entry
. Регулярное выражение \\s+
сопоставляет любые пробельные символы и разделит вашу строку на отдельные столбцы. Помните, что в производстве Double.valueOf
может выдать RuntimeException
, если вы не передаете действительный String
.
Наконец, вы можете прочитать файл, используя API потока Java 8. Пропустите первую строку, поскольку она содержит заголовок столбца, а не фактические данные.
private void readFile() throws Exception {
Path path = Paths.get(/* path to your file */);
Files.readAllLines(path).stream().skip(1).map(FileReadTest::toEntry)
.forEach(this::action);
}
В моем примере я просто печатаю каждую запись на консоли:
private void action(Entry entry) {
System.out.println(entry);
}
Результирующий вывод:
Entry[name='truck1', length=18.6, width=8.1]
Entry[name='suv1', length=17.4, width=7.4]
Entry[name='coupe1', length=14.8, width=5.4]
Entry[name='mini1', length=14.1, width=5.0]
Entry[name='sedan1', length=16.4, width=6.1]
Entry[name='suv2', length=17.5, width=7.3]
Entry[name='mini2', length=14.3, width=5.2]
Entry[name='sedan2', length=16.5, width=6.2]
Я нахожу некоторые классы записанными в Java 1.5, но можно легко обновить 2 класса так, чтобы можно было использовать классы в 1,4.
imag4j может преобразовать bmp, и ico файлы к BufferedImage возражает, что можно отобразиться в Java. Можно импортировать 17 классов и иметь для обновления, возможно, 10 строк из-за операторов java 1.5.
Вы получаете bmp преобразователь, который работает очень прекрасный.
javax.imageio. ImageIO поддерживает формат BMP:
Image image = ImageIO.read(imageFile);
ImageIcon icon = new ImageIcon(image);
JLabel label = new JLabel(icon);
ImageIO может также использоваться для преобразования между различными форматами.