Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中将文本文件读入二维数组_Java_Arrays_File - Fatal编程技术网

如何在Java中将文本文件读入二维数组

如何在Java中将文本文件读入二维数组,java,arrays,file,Java,Arrays,File,我试图将一个充满数字的文本文件读入一个二维整数数组,这可以在我的代码中的“读取”按钮中看到。我不知道是什么问题。我的逻辑错了吗?这是我第一次尝试从文件读入数组。我需要能够读取6行包含10个数字到我的数组。文本文件包含以下内容: "1 1 3 3 0 0 1 1 0 3 1 1 1 0 0 3 3 3 3 0 1 0 0 0 1 1 3 0 0 3 1 3 1 3 3 3 0 0 1 1 3 0 1 3 1 1 1 1 1 1 0 3 1 0 3 0 0 3 3 0" 代码: 导入ja

我试图将一个充满数字的文本文件读入一个二维整数数组,这可以在我的代码中的“读取”按钮中看到。我不知道是什么问题。我的逻辑错了吗?这是我第一次尝试从文件读入数组。我需要能够读取6行包含10个数字到我的数组。文本文件包含以下内容:

"1 1 3 3 0 0 1 1 0 3

1 1 1 0 0 3 3 3 3 0

1 0 0 0 1 1 3 0 0 3

1 3 1 3 3 3 0 0 1 1

3 0 1 3 1 1 1 1 1 1

0 3 1 0 3 0 0 3 3 0"
代码:

导入java.awt.BorderLayout;
导入java.awt.GridLayout;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.io.BufferedReader;
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.io.FileReader;
导入java.util.Scanner;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JLabel;
导入javax.swing.JPanel;
导入javax.swing.JTextField;
公共类GUI扩展JFrame{
专用JPanel主面板、标题面板、现场面板、按钮面板;
私人JLabel标题、团队、totalP、wlt;
私人JTextField team1、team2、team3、team4、team5、team6、total1、total2、total3、total4、total5、total6、wlt1、wlt2、wlt3、wlt4、wlt5、wlt6;
私人JButton read、calc、champWin、earthCW、exit;
最终专用内窗高度=400;
最终专用int窗口_宽度=900;
公共图形用户界面(){
buildtitlePanel();
buildfieldPanel();
buildbuttonPanel();
buildmainPanel();
setTitle(“沙漠足球联盟”);
设置尺寸(窗宽、窗高);
setVisible(真);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
私有void buildmainPanel(){
mainPanel=新的JPanel();
setLayout(新的BorderLayout());
主面板。添加(标题板,边界布局。北);
mainPanel.add(fieldPanel,BorderLayout.CENTER);
主面板。添加(按钮面板,边界布局。南);
添加(主面板);
}
私有void buildtitlePanel(){
titlePanel=新的JPanel();
title=新的JLabel();
title.setText(“2014年沙漠足球联赛总数”);
标题板添加(标题);
}
私有void buildfieldPanel(){
fieldPanel=新的JPanel();
fieldPanel.setLayout(新网格布局(7,3));
团队=新JLabel();
团队。setText(“团队”);
totalP=新的JLabel();
totalP.setText(“总分”);
wlt=新的JLabel();
wlt.SETEXT(“输赢平局”);
team1=新的JTextField(10);
team2=新的JTextField(10);
team3=新的JTextField(10);
team4=新的JTextField(10);
team5=新的JTextField(10);
team6=新的JTextField(10);
total1=新的JTextField(10);
total2=新的JTextField(10);
total3=新的JTextField(10);
total4=新的JTextField(10);
total5=新的JTextField(10);
total6=新的JTextField(10);
wlt1=新的JTextField(10);
wlt2=新的JTextField(10);
wlt3=新的JTextField(10);
wlt4=新的JTextField(10);
wlt5=新的JTextField(10);
wlt6=新的JTextField(10);
team1.setEditable(false);
team2.setEditable(false);
team3.setEditable(false);
team4.设置可编辑(false);
team5.设置可编辑(false);
team6.setEditable(false);
total1.setEditable(false);
total2.setEditable(false);
total3.setEditable(false);
total4.setEditable(false);
total5.setEditable(false);
total6.setEditable(false);
wlt1.setEditable(false);
wlt2.setEditable(false);
wlt3.setEditable(false);
wlt4.setEditable(假);
wlt5.setEditable(假);
wlt6.setEditable(假);
fieldPanel.add(团队);
fieldPanel.add(totalP);
现场面板。添加(wlt);
fieldPanel.add(团队1);
fieldPanel.add(总计1);
fieldPanel.add(wlt1);
fieldPanel.add(团队2);
fieldPanel.add(总计2);
fieldPanel.add(wlt2);
fieldPanel.add(团队3);
fieldPanel.add(总计3);
现场面板。添加(wlt3);
fieldPanel.add(团队4);
fieldPanel.add(总计4);
fieldPanel.add(wlt4);
fieldPanel.add(团队5);
现场面板。添加(共5个);
现场面板。添加(wlt5);
fieldPanel.add(团队6);
现场面板。添加(总计6);
现场面板。添加(wlt6);
}
私有void buildbuttonPanel(){
buttonPanel=新的JPanel();
buttonPanel.setLayout(新的GridLayout(1,5));
read=新的JButton();
calc=新的JButton();
champWin=新的JButton();
earthCW=新的JButton();
exit=newjbutton();
read.setText(“读取输入文件”);
read.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件e){
int[][]点=null;
File File=新文件(“/Downloads/Assignment4/in4.txt”);
试一试{
扫描仪sc=新扫描仪(文件);
while(sc.hasNextLine()){

对于(int i=0;i您的
文件路径
是错误的

/Downloads/Assignment4/in4.txt
尝试使用目录或的完整路径

示例:
D://folder1//folder2//Downloads//Assignment4//in4.txt

在MAC中:添加根用户的文件夹

File file = new File("//Users//Downloads//Assignment4//in4.txt");
如果它不能解决您的问题:


作为
调试器运行
,并使用
断点
检查崩溃的位置


java.io.FileNotFoundException:/Downloads/Assignment4/in4.txt(无此类文件或目录)除此之外,现在什么也没有打印出来,我只是得到了那个错误,我不知道其他一切是否正常。你在根目录下有下载目录吗?如果有,请检查你是否正确设置了读取权限。此外,你需要在尝试在循环中填充数组之前实例化它:
int[]points=new int[6][10];
作为
调试器运行
并使用
断点
检查它在何处崩溃我更正了数组初始化
File file = new File("//Users//Downloads//Assignment4//in4.txt");