我正在用Java编写模拟股票市场,我希望用户能够查看购买的股票。我决定最简单的方法是写入文件。我的问题是,每次运行此程序并尝试从文件中读取时,它都会输出读取它所用的路径。我想要的信息被正确写入文件,但它不是按照我想要的方式从中读取。
以下是我用于文件阅读部分的代码:
if (amountOfStocks1 >= 1) {
Scanner stocksBought1 = new Scanner("stocksbought/stocksBought1.txt");
while (stocksBought1.hasNext()) {
String fileRead = stocksBought1.nextLine();
System.out.println(fileRead);
}
stocksBought1.close();
runMenu = 1;
}
这些amountOfStocks
if / else语句中有7个。
我不确定这是否足够了。如果不是,请告诉我要穿什么,我会这样做。
如果你可以帮我解决这个问题,或者你知道一种更简单的方法来读取和写入文件就会很棒!
答案 0 :(得分:2)
而不是:
Scanner stocksBought1 = new Scanner("stocksbought/stocksBought1.txt");
尝试:
Scanner stocksBought1 = new Scanner(new File("stocksbought/stocksBought1.txt"));
当您只将String
传递给Scanner
构造函数时,Scanner
只会扫描String
。如果您给它File
,它将扫描File
的内容。
答案 1 :(得分:0)
使用FileReader对象可能会更好。您将使用类似于以下内容的代码:
import java.io.*;
class FileReaderDemo {
public static void main(String args[]) throws Exception
{
FileReader fr = new FileReader("FileReaderDemo.java");
BufferedReader br = new BufferedReader(fr);
String s;
while((s = br.readLine()) != null) {
System.out.println(s);
}
fr.close();
}
}
此外,您可以使用FileWriter对象写入文件。互联网上有很多例子。在简单的Google搜索上很容易找到。希望这会有所帮助。
答案 2 :(得分:0)
使用FileReader。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class BufferedReaderExample {
public static void main(String[] args) {
BufferedReader br = null;
try {
String sCurrentLine;
br = new BufferedReader(new FileReader("C:\\testing.txt"));
while ((sCurrentLine = br.readLine()) != null) {
System.out.println(sCurrentLine);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (br != null)br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}