如何读取一行并将其拆分以保存?对第二个文件做同样的事情
How can I read a line and split it to save it? And do the same for a second file
我一直在尝试将我的 txt 文件读入 java,然后拆分两个整数列,然后将其保存到列表或数组中。我需要将这两个数字分开,因为我将上传第二个 txt 文件,其中我将有更多数字需要添加或从第一个文件列中减去。
下面是我的 txt 文件示例:
文件 1:
0033 2000
2390 500
等
文件 2:
0033 2 400
3829 1 3020
等
第一个文件有两列,第二个文件有三列
老实说,我根本不擅长 java。到目前为止,我只能读取文件并按原样打印它们。
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
public class test {
public static void readlines(File f) throws IOException {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String line;
int NumberOfLines = 0;
while ((line = br.readLine()) != null) {
System.out.println(line);
NumberOfLines++;
}
System.out.println("Number of lines read: " + NumberOfLines);
br.close();
fr.close();
}
public static void main(String[] args) {
File f = new File("filename1");
File s = new File("filename2");
try {
readlines(f);
readlines(s);
} catch (IOException e) {
e.printStackTrace();
}
}
}
我知道我应该使用 .split("\t") 拆分数据,因为它是一个选项卡,但我如何才能将其保存到列数组中,以便以后可以在不同的 class 然后加在一起?我是否需要制作两个 classes 来读取文件 1 和第二个文件 2?之后我在主 class 中添加了所有内容?
任何想法都会很好!!很抱歉问了一些基本的问题,但是从 matlab 切换到 java 对我来说有点困难 D:
我要做的是使 readlines(File f)
方法 return 成为一个数组。数组(如果您不知道)是列表或(通常)类似的元素。例如,在您的情况下,该方法将 return 一个 String 数组。 split()
方法 returns 一个字符串数组,其中每个元素都是拆分后的元素之一。例如:
String[] splitted = "Hello World!".split(' ');
在这种情况下,splitted
将是:["Hello", "World!"]
如果你使 readlines(File f)
return 一个包含拆分读取内容的数组,那么你在 main 中要做的所有事情(如果你想保持这个 "matrix" 外观)就是将 returned 值推入另一个数组。
希望我解释的够清楚了^^
我一直在尝试将我的 txt 文件读入 java,然后拆分两个整数列,然后将其保存到列表或数组中。我需要将这两个数字分开,因为我将上传第二个 txt 文件,其中我将有更多数字需要添加或从第一个文件列中减去。
下面是我的 txt 文件示例: 文件 1:
0033 2000
2390 500
等
文件 2:
0033 2 400
3829 1 3020
等
第一个文件有两列,第二个文件有三列
老实说,我根本不擅长 java。到目前为止,我只能读取文件并按原样打印它们。
import java.io.File;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
public class test {
public static void readlines(File f) throws IOException {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String line;
int NumberOfLines = 0;
while ((line = br.readLine()) != null) {
System.out.println(line);
NumberOfLines++;
}
System.out.println("Number of lines read: " + NumberOfLines);
br.close();
fr.close();
}
public static void main(String[] args) {
File f = new File("filename1");
File s = new File("filename2");
try {
readlines(f);
readlines(s);
} catch (IOException e) {
e.printStackTrace();
}
}
}
我知道我应该使用 .split("\t") 拆分数据,因为它是一个选项卡,但我如何才能将其保存到列数组中,以便以后可以在不同的 class 然后加在一起?我是否需要制作两个 classes 来读取文件 1 和第二个文件 2?之后我在主 class 中添加了所有内容?
任何想法都会很好!!很抱歉问了一些基本的问题,但是从 matlab 切换到 java 对我来说有点困难 D:
我要做的是使 readlines(File f)
方法 return 成为一个数组。数组(如果您不知道)是列表或(通常)类似的元素。例如,在您的情况下,该方法将 return 一个 String 数组。 split()
方法 returns 一个字符串数组,其中每个元素都是拆分后的元素之一。例如:
String[] splitted = "Hello World!".split(' ');
在这种情况下,splitted
将是:["Hello", "World!"]
如果你使 readlines(File f)
return 一个包含拆分读取内容的数组,那么你在 main 中要做的所有事情(如果你想保持这个 "matrix" 外观)就是将 returned 值推入另一个数组。
希望我解释的够清楚了^^