输入流java
由于我是Java新手,我需要一些关于Java的基本知识的帮助。 我有两个问题。它们可能非常简单(至少在C++中是如此),但我不知道如何在Java中实现它 (i) 如何将带有逗号分隔值的行拆分为单独的字符串 假设我有一个输入(文本)文件,如:输入流java,java,inputstream,Java,Inputstream,由于我是Java新手,我需要一些关于Java的基本知识的帮助。 我有两个问题。它们可能非常简单(至少在C++中是如此),但我不知道如何在Java中实现它 (i) 如何将带有逗号分隔值的行拆分为单独的字符串 假设我有一个输入(文本)文件,如: zoo,name,cszoo,address,miami ...,...,...,.... 我想从文件中逐行读取输入,并获取每行逗号之间的字符串 (二)调用子类构造函数 如果我有一个叫做动物的超类和一个叫做狗和猫的子类。当我从输入中读取它们
zoo,name,cszoo,address,miami
...,...,...,....
我想从文件中逐行读取输入,并获取每行逗号之间的字符串
(二)调用子类构造函数
如果我有一个叫做动物的超类和一个叫做狗和猫的子类。当我从输入中读取它们时,我将它们作为动物放入一个载体中。但我需要调用它们的构造函数,就像它们是狗或猫一样。如何在Java中执行此操作将BufferedReader与文件读取器结合使用来读取文件
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// or, to read from a file, do:
// BufferedReader br = new BufferedReader(new FileReader("file.txt"));
String line;
while ((line = br.readLine()) != null) {
String[] a = line.split(",");
// do whatever you want here
// assuming the first element in your array is the class name, you can do this:
Animal animal = Class.forName(a[0]).newInstance();
// the problem is that that calls the zero arg constructor. But I'll
// leave it up to you to figure out how to find the two arg matching
// constructor and call that instead (hint: Class.getConstructor(Class[] argTypes))
}
BufferedReader reader = new BufferedReader(new FileReader("yourfile.txt"));
for (String line = reader.readLine(); line != null; line = reader.readLine())
{
// handle your line here:
// split the line on comma, the split method returns an array of strings
String[] parts = line.split(",");
}
其思想是使用缓冲读取器包装基本读取器。缓冲读取器使用一个缓冲区来加速事情。缓冲读取器实际上并不读取文件。底层文件读取器读取它,但缓冲读取器“在幕后”执行此操作
另一个更常见的代码片段是,但可能更难理解:
String line = null;
while ((line = reader.readLine()) != null)
{
}
你试过什么,怎么办?它不起作用了?显示您迄今为止尝试的代码。我无法对输入执行任何操作。事实上,别忘了将其标记为家庭作业。我应该如何实现捕获和尝试部分?此外,我在这里不理解的是,例如(zoo,12,lala)。zoo是我的类名,lala和12是属性。我将如何在您想要的任何内容中定义它。我假定您将看到的唯一例外是找不到文件,而且您对此也无能为力。您可以使用反射来实例化您的对象。并依赖构造函数提供与输入参数匹配的重载。顺便说一句,非常感谢。但它实际上是自上而下读取的。我的意思是,如果有zoo,lala,底部是bobo,ola。a[0]是zoo,bobosorry。[0]不是类名吗?很难从你的例子中知道,因为你的样本CSV中的名字不符合你的动物、狗、猫等的例子。我该如何实现捕捉和尝试的部分呢?这里我不理解的是例如(动物园,12,拉拉)。动物园是我的类名,拉拉和12是属性。