广告
返回顶部
首页 > 资讯 > 后端开发 > Python >如何将Java打开CSV文件到JTable展示
  • 810
分享到

如何将Java打开CSV文件到JTable展示

Java打开CSV文件到JTableJava打开CSV到JTable 2023-05-13 20:05:42 810人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录概述主要知识点CsvReader的主要方法实例 - 读取本地桌面的一个csv文件本文主要介绍了如何将Java打开CSV文件到JTable展示,废话不多说,具体如下: 概述 主要

本文主要介绍了如何将Java打开CSV文件到JTable展示,废话不多说,具体如下:

概述

主要知识点

a.Swingnode类 :把Java swing组件封装成一个JavaFX的Node,使得Java Swing可以和JavaFX嵌套在一起使用,JavaSwing贼丑,但操作简单,JavaFX的表格组件(TableView等)有点复杂,所以选择嵌套JavaSwing来使用,丑就丑吧

b.javacsv-2.0.jar: 用于通过文件地址读取csv文件,并可以进行一系列操作.尽管2008年之后就不再更新,但操作个csv文件也够用了。

c.FileChoose类 :JavaFX的一个文件选择器,可以打开本机的资源管理器,UI美观与否取决于你的系统版本。

d.CsvReader类 : javacsv-2.0.jar 包下的一个工具类,主要通过它来对csv文件进行操作

e.JTable类:创建一个JTable实例做csv文件打开后的展示,需要注意参数的顺序,表格内容是一个二维数组,表头是一个一维数组

JTable table = new JTable(表格内容,表头);

f. 把一位数组存进一维数组:

String[][] arr = new String[10][];//开辟一个10行的二维数组
String[] row1 = {"id","name","sex","age"};
 
arr[0] = row1;//存进二维数组

g. JTable不显示表头:需要把JTable对象放进一个Pane里

JTable table = new JTable(表内容,表头);
jscrollPane jScrollPane = new JScrollPane(table);
 
SwingNode swingNode = new SwingNode();
swingNode.setContent(jScrollPane);//使用swingNode封装swing组件,就可以在Javafx中用了

CsvReader的主要方法

  • new CsvReader(String filePath) 初始化构造时需要传入一个本地csv文件地址
  • boolean readHeaders() 读取表头并跳过
  • String[] getHeaders() 获取csv文件表头(很奇怪,需要readHeaders()方法调用过后,才能获取到,不然报空指针异常)

也就是这样:

CsvReader reader = new CsvReader("xxx.csv");
reader.readHeaders(); //没有这句话,执行下面会报错
String[] head = reader.getHeaders();
  • boolean readRecord() 读取一行csv内容,只要你调用了,下次再调用就会切换到csv的下一行,通常我们使用一个while循环来及时把所有内容一行行进行操作
  • String getRawRecord() 读取一行数据
while (reader.readRecord()){
    System.out.println(reader.getRawRecord());//输出一行内容
}

实例 - 读取本地桌面的一个csv文件

@Override
    public void start(Stage primaryStage) throws Exception {
        primaryStage.setTitle("文件选择器");
        primaryStage.setHeight(600);
        primaryStage.setWidth(800);
 
        final FileChooser fileChooser = new FileChooser();
 
        //设置打开资源管理器后的文件过滤
        fileChooser.getExtensionFilters().addAll(
                new FileChooser.ExtensionFilter("All Images","*.*"),
                new FileChooser.ExtensionFilter("PNG","*.png"),
                new FileChooser.ExtensionFilter("MP4","*.mp4"),
                new FileChooser.ExtensionFilter("CSV","*.csv")
        );
 
        final Button open = new Button("打开文件");
 
        final GridPane inputGridPane = new GridPane();//创建格子布局面板
        GridPane.setConstraints(open,0,0);//第0行0列
 
        inputGridPane.setHgap(6.0);//设置水平间距
        inputGridPane.setVgap(6.0);//设置垂直间距
        inputGridPane.getChildren().addAll(open);//添加按钮
 
        final Pane rootGroup = new VBox(12);//创建一个垂直盒子布局器
        rootGroup.getChildren().addAll(inputGridPane);//把格子面板放进来
        rootGroup.setPadding(new Insets(12,12,12,12));
 
        primaryStage.setScene(new Scene(rootGroup));
        primaryStage.show();
 
//设置点击-打开文件-的动作事件
open.setOnAction(event -> {
            File file = fileChooser.showOpenDialog(primaryStage);//在当前窗口打开文件选择器
            if (file != null){
                try {
                    FileInputStream inputStream = new FileInputStream(file);
                    BufferedInputStream stream = new BufferedInputStream(inputStream);
                    String fileName = file.getName();
                    String filePath = file.getAbsolutePath();
                    System.out.println("文件路径 = "+filePath);
                    try {
                        CSVDemo.read(filePath);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }    
                    //封装JTable,使得JTable和Javafx嵌套在一起    
                    SwingNode swingNode = new SwingNode();
                    try {
                        JTable table = read(filePath);
                        JScrollPane jScrollPane = new JScrollPane(table);
                        swingNode.setContent(jScrollPane);
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                //设置JTable打开后表格的相对位置
                GridPane.setConstraints(swingNode,0,1);
                    inputGridPane.getChildren().add(swingNode);
                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }
            }
        });
}
//读取csv文件并把它读取到JTable中返回
public static JTable read(String filePath) throws IOException {
 
            CsvReader reader = new CsvReader(filePath);
            reader.readHeaders();//跳过表头
            String[] head = reader.getHeaders();
 
            List<String []> list = new ArrayList<>();
            String s = reader.getRawRecord();
            System.out.println("表头 "+s);
            String[] r1 = dataToArray(s);
//            list.add(r1);
 
            while (reader.readRecord()) {
                System.out.println(reader.getRawRecord());
                list.add(dataToArray(reader.getRawRecord()));
            }
        String[][] data = new String[list.size()][];
        System.out.println("一共"+list.size()+"行数据");
        for (int i = 0; i < data.length; i++) {
            data[i] = list.get(i);
        }
            JTable table = new JTable(data,head);
            return table;
 
    }
//将每一行的数据从String转为String数组
    public static String[] dataToArray(String row){
        String[] res = row.split(",");
        return res;
    }

效果展示

JScrollPane封装JTable,SwingNode封装JScrollPane

 到此这篇关于如何将Java打开CSV文件到JTable展示的文章就介绍到这了,更多相关Java打开CSV文件到JTable内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 如何将Java打开CSV文件到JTable展示

本文链接: https://www.lsjlt.com/news/202663.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何将Java打开CSV文件到JTable展示
    目录概述主要知识点CsvReader的主要方法实例 - 读取本地桌面的一个csv文件本文主要介绍了如何将Java打开CSV文件到JTable展示,废话不多说,具体如下: 概述 主要...
    99+
    2023-05-13
    Java打开CSV文件到JTable Java打开CSV到JTable
  • 怎么将Java打开CSV文件到JTable展示
    本文小编为大家详细介绍“怎么将Java打开CSV文件到JTable展示”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么将Java打开CSV文件到JTable展示”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。概...
    99+
    2023-07-05
  • 如何用phpexcel将Excel文件转成CSV文件并打开
    这篇“如何用phpexcel将Excel文件转成CSV文件并打开”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何用phpe...
    99+
    2023-07-05
  • 如何利用vue展示.docx文件、excel文件和csv文件内容
    目录一、展示word文件内容1、安装并引入依赖mammoth2、页面中使用二、展示excel/csv文件内容1、安装并引入依赖handsontable、papaparse,excel...
    99+
    2023-05-16
    vue展示word vue读取文件内容 vue展示excel
  • 如何对csv文件数据分组,并用pyecharts展示
    目录比如以下文件及统计效果把pandas 和 pyecharts 做了个结合mc_data.csvmt_data.csvan_data1() 的效果在处理csv文件时,会有...
    99+
    2022-11-11
  • 如何将数据导出到文件名包含文件创建时间戳的 CSV 文件?
    有时我们需要将数据导出到 CSV 文件中,该文件的名称带有创建该文件的时间戳。这可以借助 MySQL 准备好的语句来完成。为了说明这一点,我们使用以下示例 -示例 以下示例中的查询会将数据从表“student_info”导出到名称中包含时间...
    99+
    2023-10-22
  • 我们如何将数据导出到 CSV 文件,并将列标题作为第一行?
    为了添加列值,我们需要使用 UNION 语句。可以借助以下示例进行演示 -示例在此示例中,student_info 中的数据将导出到 CSV 文件。 CSV 文件的第一行将作为列的名称。mysql>(SELECT &#...
    99+
    2023-10-22
  • 如何将java程序打包成jar文件
    在项目上,右键,选择Export。进入到下图界面,选择Java 下面的JAR file(在线学习视频分享:java免费视频教程)选择项目,确认必要的文件是否选中,选择保存jar文件包的路径,如下图:点击Next,进入如下图界面:直接点Nex...
    99+
    2018-02-21
    java程序 打包 jar文件
  • Excel如何打开csv格式文件并生成图形功能
    这篇文章将为大家详细讲解有关Excel如何打开csv格式文件并生成图形功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在UNIX/LINUX服务器端生成了csv格式文件之后,有时需要根据csv文件的数据...
    99+
    2023-06-13
  • java如何打开本地html文件
    第一种:Object获取项目中的propertiesInputStream in = Object. class .getResourceAsStream( "/com/demo/conf.properties" );第二种:直接获得本地配...
    99+
    2018-03-01
    java教程 java 打开 本地 html 文件
  • java如何打开指定exe文件
    知识补充:Runtime:运行时,是一个封装了JVM进程的类。每一个JAVA程序实际上都是启动了一个JVM进程,那么每一个进程都是对应这一个Runtime实例,其实例是由JVM为其初始化的。Runtime类的常用方法public stati...
    99+
    2014-11-25
    java exe 文件
  • java如何打开已有的文件
    在Java中,可以使用File类来表示文件,并且使用FileInputStream或FileReader来打开已有的文件。 以下是使...
    99+
    2023-10-23
    java
  • java如何将输出内容保存到文件
    要将输出内容保存到文件,可以使用Java中的FileOutputStream和PrintWriter类。下面是一个示例代码,将输出内...
    99+
    2023-08-08
    java
  • Java如何实现将类文件打包为jar包
    目录将类文件打包为jar包1.写类文件2.编译3.测试4.打jar包jar包应该怎么打?1.首先确保你的项目2.选中你的项目,点右键3.选择runnable jar file4.如下...
    99+
    2022-11-13
  • win7隐藏文件后无法找到隐藏文件如何将其显示
      使用Windows 7   打开计算机,在窗口左上角依次选择“组织”;   选择“文件夹和搜索选项”,如下图:   会打开我们常见的XP系统下的文件夹选项,如下图:...
    99+
    2023-06-07
    win7 隐藏文件 隐藏 文件
  • webpack如何打包并将文件加载到指定的位置
    这篇文章主要介绍了webpack如何打包并将文件加载到指定的位置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。使用webpack打包,最爽的...
    99+
    2022-10-19
  • 打开cad时winds找不到文件如何解决
    本篇内容介绍了“打开cad时winds找不到文件如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!解决方法:右击当前dwg文件,点击“打...
    99+
    2023-07-01
  • word文档显示打开时遇到错误如何解决
    要解决打开 Word 文档时遇到错误的问题,可以尝试以下几个方法:1. 重启计算机:有时候,计算机的临时问题可能导致文件无法正确打开...
    99+
    2023-10-08
    word
  • Vista下如何将文件夹固定到开始菜单上
    本篇内容介绍了“Vista下如何将文件夹固定到开始菜单上”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在Windows 7,微软提供了Pin...
    99+
    2023-06-14
  • Less框架中如何将CSS强制打包到单个文件中
    本篇内容主要讲解“Less框架中如何将CSS强制打包到单个文件中”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Less框架中如何将CSS强制打包到单个文件中”吧...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作