import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
public class ReadFromFile {
public static void main(String[] args) {
String[][] clothesDb = new String[10][10];
try {
FileInputStream fis = new FileInputStream(
"C:/Users/irapple/Desktop/Project db/clothes.txt");
DataInputStream dis = new DataInputStream(fis);
BufferedReader br = new BufferedReader(new InputStreamReader(dis));
String str;
while ((str = br.readLine()) != null) {
System.out.println(str);
}
int count = 0;
while ((str = br.readLine()) != null) {
String[] dividedLine = str.split("\t");
for (int i = 0; i < 10; i++) {
clothesDb[count][i] = dividedLine[i];
}
count++;
System.out.println(clothesDb);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
>>>ID Order Type Color Price
>>>1 M-T-Shirt A Red 20000$
>>>2 W-T-Shirt B Blue 30000$
>>>3 K-T-Shirt C Yellow 35000$
>>>4 M-Pans D Green 75000$
>>>5 W-Pans E Gray 80000$
>>>6 K-Pans F Purple 60000$
>>>7 Hat G White 15000$
这就是我想用它作为二维数组而我不知道如何使用拆分方法 如果我使用\ t代替单词而\ t \ t \ t代替其他单词,我该怎么办。最后一个问题是Scanner Class如何为我的porpuse提供帮助(将此文件生成为2d数组)?
答案 0 :(得分:0)
在您的情况下,它看起来更像是固定大小,因此我建议您使用sub string
yoursting.subString(startIndex,endIndex);
填充你的阵列。
你的例子: 用i去除内部for循环并用这样的代码替换它
clothesDb[count][0] = str.subString(0,20).trim();
clothesDb[count][1] = str..subString(21,40).trim();
clothesDb[count][2] = str..subString(41,60).trim();
clothesDb[count][3] = str..subString(61,str.length).trim();