使用 BufferedReader 读取多个文件(使用 String[] args)
Reading multiple files using BufferedReader(with String[] args)
我想使用主要方法数组从两个或多个文件中读取文本。可能吗? (我的代码可能有点奇怪,因为我是初学者)
这是我的代码。
public static void main(String[] args) throws IOException {
if(args.length != 1)
{
System.out.println("wrong number of arguments");
System.exit(1);
}
args[0] = "data.txt";
args[1] = "data2.txt";
BufferedReader file = new BufferedReader(new FileReader(args[0],args[1]));
int NumberofRows =0, NumberofCharacter =0;
while(true)
{
String row = file.readLine();
if(row == null)
break;
NumberofRows++;
NumberofCharacter = NumberofCharacter + row.length();
}
System.out.println("The files "+" data.txt " + " and " "data2.txt "+ "contains "+ NumberofRows+ "rows and NumberofCharacter contains"+
NumberofCharacter +" character");
file.close();
您可以创建一个具有相同大小的 args 的 BufferedReader 数组。然后你可以用循环构造它们。
public static void main(String[] args)throws IOException {
if (args.length != 1) {
System.out.println("wrong number of arguments");
System.exit(1);
}
args[0] = "data.txt";
args[1] = "data2.txt";
for (int i = 0; i < args.length; i++) {
BufferedReader file = new BufferedReader(new FileReader(args[i]));
int NumberofRows = 0, NumberofCharacter = 0;
while (true) {
String row = file.readLine();
if (row == null)
break;
NumberofRows++;
NumberofCharacter = NumberofCharacter + row.length();
}
file.close();
}
}
String row = "";
while(row = file.readLine()) !=null)
{
System.out.println(row);
NumberofRows++;
NumberofCharacter += row.length();
}
你可能想在读取文件时考虑这种方法,不要强制程序从文件中读取行。这有时可能会引发异常。
@Lena:我不明白你为什么要在 main 方法中影响 args[] 的值?
args[0] = "data.txt";
args[1] = "data2.txt";
相反,您可以在执行 main 时在 args[] 中传递文件名,并测试 args[].length < 1,因为 args[].length != 1 将始终为真,如果您想要读取两个或更多文件。正如@ugurdonmez 所说:您可以创建一个具有相同大小的 args 的 BufferedReader 数组。
public static void main(String[] args)throws IOException {
if(args.length <1)
{
System.out.println("wrong number of arguments");
System.exit(1);
}
for(int i=0; i<args.length; i++)
{
BufferedReader file = new BufferedReader(new FileReader(args[i]));
int NumberofRows =0, NumberofCharacter =0;
while(row = file.readLine()) !=null)
{
String row = file.readLine();
NumberofRows++;
NumberofCharacter = NumberofCharacter + row.length();
}
}
System.out.println("The files "+" data.txt " + " and " "data2.txt "+ "contains "+ NumberofRows+ "rows and NumberofCharacter contains"+
NumberofCharacter +" character");
file.close();
}
}
我找到了 eclipse 的快捷方式。
1) 点击 运行 -> 运行 配置
2)点击参数选项卡
3) 在 Program Arguments 部分,输入您的参数。
4)点击应用
我想使用主要方法数组从两个或多个文件中读取文本。可能吗? (我的代码可能有点奇怪,因为我是初学者)
这是我的代码。
public static void main(String[] args) throws IOException {
if(args.length != 1)
{
System.out.println("wrong number of arguments");
System.exit(1);
}
args[0] = "data.txt";
args[1] = "data2.txt";
BufferedReader file = new BufferedReader(new FileReader(args[0],args[1]));
int NumberofRows =0, NumberofCharacter =0;
while(true)
{
String row = file.readLine();
if(row == null)
break;
NumberofRows++;
NumberofCharacter = NumberofCharacter + row.length();
}
System.out.println("The files "+" data.txt " + " and " "data2.txt "+ "contains "+ NumberofRows+ "rows and NumberofCharacter contains"+
NumberofCharacter +" character");
file.close();
您可以创建一个具有相同大小的 args 的 BufferedReader 数组。然后你可以用循环构造它们。
public static void main(String[] args)throws IOException {
if (args.length != 1) {
System.out.println("wrong number of arguments");
System.exit(1);
}
args[0] = "data.txt";
args[1] = "data2.txt";
for (int i = 0; i < args.length; i++) {
BufferedReader file = new BufferedReader(new FileReader(args[i]));
int NumberofRows = 0, NumberofCharacter = 0;
while (true) {
String row = file.readLine();
if (row == null)
break;
NumberofRows++;
NumberofCharacter = NumberofCharacter + row.length();
}
file.close();
}
}
String row = "";
while(row = file.readLine()) !=null)
{
System.out.println(row);
NumberofRows++;
NumberofCharacter += row.length();
}
你可能想在读取文件时考虑这种方法,不要强制程序从文件中读取行。这有时可能会引发异常。
@Lena:我不明白你为什么要在 main 方法中影响 args[] 的值?
args[0] = "data.txt";
args[1] = "data2.txt";
相反,您可以在执行 main 时在 args[] 中传递文件名,并测试 args[].length < 1,因为 args[].length != 1 将始终为真,如果您想要读取两个或更多文件。正如@ugurdonmez 所说:您可以创建一个具有相同大小的 args 的 BufferedReader 数组。
public static void main(String[] args)throws IOException {
if(args.length <1)
{
System.out.println("wrong number of arguments");
System.exit(1);
}
for(int i=0; i<args.length; i++)
{
BufferedReader file = new BufferedReader(new FileReader(args[i]));
int NumberofRows =0, NumberofCharacter =0;
while(row = file.readLine()) !=null)
{
String row = file.readLine();
NumberofRows++;
NumberofCharacter = NumberofCharacter + row.length();
}
}
System.out.println("The files "+" data.txt " + " and " "data2.txt "+ "contains "+ NumberofRows+ "rows and NumberofCharacter contains"+
NumberofCharacter +" character");
file.close();
}
}
我找到了 eclipse 的快捷方式。
1) 点击 运行 -> 运行 配置
2)点击参数选项卡
3) 在 Program Arguments 部分,输入您的参数。
4)